3 Replies Latest reply on Jun 18, 2008 7:29 PM by Tarun Bansal

    "Port" does not contain operation meta data for "Envelope"

    Darlan Oliveira Newbie

      I?ve been getting the exception

      javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://org.jboss.ws/samples/jsr109ejb}JaxRpcTestServicePort does not contain operation meta data for: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
      when i use a web service proxy generated by Wscompile tool on JBossWS 1.0.3SP1 (jbossws14.sar) bundled in JBossAS 4.0.5GA.

      Below the exception that I got:
      ERROR [org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper] SOAP request exception
      javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://org.jboss.ws/samples/jsr109ejb}JaxRpcTestServicePort does not contain operation meta data for: {http://schemas.xmlsoap.org/soap/envelope/}Envelope
       at org.jboss.ws.server.ServiceEndpointInvoker.getDispatchDestination(ServiceEndpointInvoker.java:181)
       at org.jboss.ws.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:107)
       at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:209)
       at org.jboss.ws.server.ServiceEndpointManager.processSOAPRequest(ServiceEndpointManager.java:355)
       at org.jboss.ws.server.StandardEndpointServlet.doPost(StandardEndpointServlet.java:115)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at org.jboss.ws.server.StandardEndpointServlet.service(StandardEndpointServlet.java:76)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at sun.reflect.GeneratedMethodAccessor134.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
       at java.security.AccessController.doPrivileged(Native Method)
       at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
       at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
       at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
       at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
       at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
       at java.security.AccessController.doPrivileged(Native Method)
       at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
       at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
       at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
       at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
       at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
       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.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
       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)
      


      When I tried to access my web service with the below implementation it went all right:

      private void testEchoString() {
       try {
       final String TARGET_ENDPOINT_ADDRESS = "http://localhost:8080/jbossws-samples-jsr109ejb-doc";
       final String TARGET_NAMESPACE = "http://org.jboss.ws/samples/jsr109ejb/types";
       final QName TYPE_LITERAL_STRING = new QName(
       "http://www.w3.org/2001/XMLSchema", "string");
      
       ServiceFactory factory = ServiceFactory.newInstance();
       Service service = factory.createService(new QName(
       "ANY_SERVICE_NAME"));
      
       Call call = service.createCall();
       call.setOperationName(new QName(TARGET_NAMESPACE, "echoString"));
       call.addParameter("String_1", TYPE_LITERAL_STRING, ParameterMode.IN);
       call.addParameter("String_2", TYPE_LITERAL_STRING, ParameterMode.IN);
       call.setReturnType(TYPE_LITERAL_STRING);
      
       call.setTargetEndpointAddress(TARGET_ENDPOINT_ADDRESS);
      
       String text = "text";
       System.out.println("Send...: " + text);
       Object retObj = call.invoke(new Object[] { getInputText1Value(),
       getInputText1Value() });
       text = (String) retObj;
       System.out.println("Recevie: " + text);
       } catch (Throwable t) {
       t.printStackTrace();
       }
       }
      

      With JBossAS 4.0.3 SP1 both of them are work fine, but with JBossAS 4.0.5GA not. What the difference between those implementations? What am I doing wrong?

      --
      Darlan