My WSDL-first tutorial might point out anything different you're doing on your side causing the error:
http://www.jroller.com/gmazza/entry/web_service_tutorial

HTH,
Glen

On 04/21/2012 10:17 AM, imiten wrote:
Hi,

I managed to get webapp running on tomcat.  I had to copy wsdl to classes
and also keep one above WEB-INF. Here is error when I run client:

Invoking server through Dispatch interface using SOAPMessage
Exception in thread "main"
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:308)
        at
com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:177)
        at
com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:203)
        at
com.mkyong.webservice.ProductWebService_PortTypeClient.main(ProductWebService_PortTypeClient.java:43)

Here is wsdl:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ProductWebServiceService"
targetNamespace="http://webservice.mkyong.com/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:tns="http://webservice.mkyong.com/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
   <wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns="http://webservice.mkyong.com/"; attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://webservice.mkyong.com/";>
   <xs:complexType abstract="true" name="soapMessage">
     <xs:sequence>
       <xs:element minOccurs="0" name="contentDescription" type="xs:string"/>
     </xs:sequence>
   </xs:complexType>
   <xs:element name="invoke" nillable="true" type="xs:anyType"/>
   <xs:element name="invokeResponse" nillable="true" type="xs:anyType"/>
</xs:schema>
   </wsdl:types>
   <wsdl:message name="invoke">
     <wsdl:part name="invoke" element="tns:invoke">
     </wsdl:part>
   </wsdl:message>
   <wsdl:message name="invokeResponse">
     <wsdl:part name="invokeResponse" element="tns:invokeResponse">
     </wsdl:part>
   </wsdl:message>
   <wsdl:portType name="ProductWebService">
     <wsdl:operation name="invoke">
       <wsdl:input name="invoke" message="tns:invoke">
     </wsdl:input>
       <wsdl:output name="invokeResponse" message="tns:invokeResponse">
     </wsdl:output>
     </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="ProductWebServiceServiceSoapBinding"
type="tns:ProductWebService">
     <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="invoke">
       <soap:operation soapAction="" style="document"/>
       <wsdl:input name="invoke">
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output name="invokeResponse">
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="ProductWebServiceService">
     <wsdl:port name="ProductWebServicePort"
binding="tns:ProductWebServiceServiceSoapBinding">
       <soap:address location="http://localhost:8080/ProductWebServicePort"/>
     </wsdl:port>
   </wsdl:service>
</wsdl:definitions>

Client:

/**
  * Please modify this class to meet your needs
  * This class is not complete
  */

package com.mkyong.webservice;
import java.io.InputStream;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service;

/**
  * This class was generated by Apache CXF 2.5.2
  * 2012-04-13T13:43:44.952+05:30
  * Generated source version: 2.5.2
  *
  */
public class ProductWebService_PortTypeClient {

     public static void main(String[] args) throws Exception {
         QName serviceName = new QName("http://webservice.mkyong.com/";,
"ProductWebServiceService");
         QName portName = new QName("http://webservice.mkyong.com/";,
"ProductWebServicePort");

         Service service = Service.create(new
URL("http://localhost:8080/mkyong_webapp/wsdl/ProductWebService.wsdl";),
serviceName);
         Dispatch<SOAPMessage>  dispatch = service.createDispatch(portName,
SOAPMessage.class, Service.Mode.MESSAGE);

         InputStream is1 =
ProductWebService_PortTypeClient.class.getResourceAsStream("CreateProduct.xml");
         if (is1 == null) {
             System.err.println("Failed to create input stream from file "
                                + "CreateProduct.xml, please check");
             System.exit(-1);
         }
         MessageFactory factory = MessageFactory.newInstance();
         SOAPMessage soapReq1 = factory.createMessage(null, is1);


         System.out.println("Invoking server through Dispatch interface using
SOAPMessage");
         SOAPMessage soapResp = dispatch.invoke(soapReq1);
         System.out.println("Response from server: " +
soapResp.getSOAPBody().getTextContent());



     }

}



--
View this message in context: 
http://cxf.547215.n5.nabble.com/com-sun-xml-internal-ws-client-ClientTransportException-The-server-sent-HTTP-status-code-404-Not-Foud-tp5656294p5656294.html
Sent from the cxf-user mailing list archive at Nabble.com.


--
Glen Mazza
Talend Community Coders - coders.talend.com
blog: www.jroller.com/gmazza

Reply via email to