App Cliente não consome o Serviço Web

4 respostas
alexwog

Pessoal, comecei a estudar Web Service e resolvi implantar um serviço web baseado no padrão SOAP e servidor Glassfish3…

Bem, o serviço foi implantado! Já foi testado e tudo mais…

Meu problema agora está no cliente que consome o serviço…

Ele não responde e imprime esses erros:

Exception in thread “AWT-EventQueue-0” com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 404: Not Found

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:296)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:245)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:203)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122)

at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)

at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626)

at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585)

at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570)

at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467)

at com.sun.xml.internal.ws.client.Stub.process(Stub.java:30

at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146)

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:9

at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:7

at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129)

at $Proxy29.welcome(Unknown Source)

at com.deitel.welcomesoapclient.WelcomeSOAPClientJFrame.submitJButtonActionPerformed(WelcomeSOAPClientJFrame.java:93)

at com.deitel.welcomesoapclient.WelcomeSOAPClientJFrame.access$000(WelcomeSOAPClientJFrame.java:9)

at com.deitel.welcomesoapclient.WelcomeSOAPClientJFrame$1.actionPerformed(WelcomeSOAPClientJFrame.java:51)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:201

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.Component.processMouseEvent(Component.java:6505)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

at java.awt.Component.processEvent(Component.java:6270)

at java.awt.Container.processEvent(Container.java:2229)

at java.awt.Component.dispatchEventImpl(Component.java:4861)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)

at java.awt.Container.dispatchEventImpl(Container.java:2273)

at java.awt.Window.dispatchEventImpl(Window.java:2713)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)

at java.awt.EventQueue.access$000(EventQueue.java:101)

at java.awt.EventQueue$3.run(EventQueue.java:666)

at java.awt.EventQueue$3.run(EventQueue.java:664)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.awt.EventQueue$4.run(EventQueue.java:680)

at java.awt.EventQueue$4.run(EventQueue.java:67

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:12

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

CONSTRUÍDO COM SUCESSO (tempo total: 1 minuto 20 segundos)

O chato é que o programa complia certinho e eu não sei onde fica o erro :confused:

Alguém pra me ajudar?

4 Respostas

A

posta o código e como é feita a requisição. Está apontando erro 404:

The server sent HTTP status code 404: Not Found 
at $Proxy29.welcome(Unknown Source)

então pode ser algum detalhe que passou varado ou sei lá, ver o código ajuda você a nos ajudar a ajudar você :lol: :lol:

alexwog

Olha o código ai


// WelcomeSOAPClientJFrame.java
// App Cliente desktop para o serviço Web WelcomeSOAP

package com.deitel.welcomesoapclient;

import com.deitel.welcomesoap.WelcomeSOAP;

import com.deitel.welcomesoap.WelcomeSOAPService;

import javax.swing.JOptionPane;
public class WelcomeSOAPClientJFrame extends javax.swing.JFrame

{

// references the service endpoint interface object (i.e., the proxy)

private WelcomeSOAP welcomeSOAPProxy;
// no-argument constructor

public WelcomeSOAPClientJFrame()

{

initComponents();
try
  {
     // create the objects for accessing the WelcomeSOAP web service
     WelcomeSOAPService service = new WelcomeSOAPService();
     welcomeSOAPProxy = service.getWelcomeSOAPPort();
  } // end try
  catch ( Exception exception )
  {
     exception.printStackTrace();
     System.exit( 1 );
  } // end catch

} // end WelcomeSOAPClientJFrame constructor

// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    nameJTextField = new javax.swing.JTextField();
    nameJLabel = new javax.swing.JLabel();
    submitJButton = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    nameJLabel.setText("Digite seu nome");

    submitJButton.setText("Enviar");
    submitJButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            submitJButtonActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(nameJLabel)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(nameJTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createSequentialGroup()
                    .addGap(73, 73, 73)
                    .addComponent(submitJButton)))
            .addContainerGap(18, Short.MAX_VALUE))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(nameJLabel)
                .addComponent(nameJTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(submitJButton)
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>
// call the web service with the supplied name and display the message

private void submitJButtonActionPerformed(

java.awt.event.ActionEvent evt )

{

String name = nameJTextField.getText(); // get name from JTextField
// retrieve the welcome string from the web service
  String message = welcomeSOAPProxy.welcome( name );
  JOptionPane.showMessageDialog( this, message,
     "Bemvindo", JOptionPane.INFORMATION_MESSAGE );

} // end method submitJButtonActionPerformed

// main method begins execution

public static void main( String args[] )

{

java.awt.EventQueue.invokeLater(

new Runnable()

{

public void run()

{

new WelcomeSOAPClientJFrame().setVisible( true );

} // end method run

} // end anonymous inner class

); // end call to java.awt.EventQueue.invokeLater

} // end main
// Variables declaration - do not modify                     
private javax.swing.JLabel nameJLabel;
private javax.swing.JTextField nameJTextField;
private javax.swing.JButton submitJButton;
// End of variables declaration

} // end class WelcomeSOAPClientJFrame

alexwog

HEELP!

alexwog

andre.froes,

Consegui resolver o problema! Não sei qual onde estava o problema. Mas ao recriar o Servidor Glassfish, o erro desapareceu!

Valeu a atenção, cara.

Criado 20 de novembro de 2012
Ultima resposta 23 de nov. de 2012
Respostas 4
Participantes 2