0 Replies Latest reply on Oct 11, 2006 8:02 AM by cartola

    wscompile client fails to invoke JBossWS webservice

    cartola

      Hello,
      I?ve been developing a web service in JBoss 4.0.4 over JDK 1.5.
      My service is document/literal and runs on JBossWS.
      I?ve successfully deployed the service.
      I?ve generate the client stubs using wscompile (1.1.3, build R1) which comes in JWSDP 2.0

      <target name="java-wscompile" depends="set-wscompile" description="Runs wscompile to generate the WSDL file and mapping file">
       <antcall target="run-wscompile">
       <param name="param1" value="
       -gen:client
       -keep
       -d genSTUBS
       -verbose
       ${basedir}\support_files\wsdl\configWSDL.xml" />
       </antcall>
       </target>
      


      When I invoke the web service using this client I get the following exception on the server:

      ERROR [SOAPFaultExceptionHelper] SOAP request exception
      javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://pt.ptinovacao.pinos.pm/MRC}MRC_IF_WSPort does not contain operation meta data for: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
       at org.jboss.ws.server.ServiceEndpointInvoker.getDispatchDestination(ServiceEndpointInvoker.java:175)
       at org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:110)
       at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:234)
       at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       at java.lang.Thread.run(Thread.java:595)
      


      I?ve used TCPmon to catch the outgoing SOAP message:

      <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
       <env:Header/>
       <env:Body>
       <env:Envelope xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://pt.ptinovacao.pinos.mrc/MRC_Types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <env:Body>
       <ns0:getLogsNaoActualizados xmlns:ns0="http://pt.ptinovacao.pinos.mrc/MRC_Types"/>
       </env:Body>
       </env:Envelope>
       </env:Body>
      </env:Envelope>
      


      If I use XMLSPY to invoke the web service it works fine.
      Also, if I use a JBoss-IDE generated client (uses axis) it also works fine.

      SOAP request of XMLSPY:
      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <SOAP-ENV:Body>
       <m:getLogsNaoActualizados xmlns:m="http://pt.ptinovacao.pinos.mrc/MRC_Types"/>
       </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>
      


      SOAP request of JBoss-IDE client:
      <?xml version="1.0" encoding="UTF-8"?>
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
       <getLogsNaoActualizados xmlns="http://pt.ptinovacao.pinos.mrc/MRC_Types"/>
       </soapenv:Body>
      </soapenv:Envelope>
      


      Do you have any ideas on solving this problem?
      My intention was to build a JBossWS client who wouldn?t use axis libraries. Is that possible?

      Thanks in advance.