0 Replies Latest reply on Aug 28, 2008 6:38 AM by navinbhat

    Interoperability issue between JBoss service and gSOAP clien

    navinbhat

      Environment:
      JBOSS AS 4.2.3,JBoss-native-3.0.3,JDK 5 update 15,Windows XP SP2,Eclipse 3.3.x.

      Description:
      I generated service code from wsdl using wsconsume (contract first approach). I wrote the service skeleton code as a stateless EJB, where in i have a operation which recieves and sends back an MTOM attachment. I have enabled MTOM using the following annotation.
      @BindingType(value="http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true").I deployed the service in JBoss Application server 4.2.3.

      The SOAP 1.2 client is written in gSOAP framework (Running on linux) generated from the same wsdl file.When the gSOAP client sends an MTOM attachment the JBoss service throws an exception, the stack trace is shown below.

      NOTE: The same JBoss service works fine with JBoss client.

      Stack trace
      12:11:27,705 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
      javax.xml.soap.SOAPException: Cannot decode multipart related message
      at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:253)
      at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193)
      at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:457)
      at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
      at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
      at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
      at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:81)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: javax.mail.internet.ParseException: Expected ';', got "/"
      at javax.mail.internet.ParameterList.(ParameterList.java:179)
      at javax.mail.internet.ContentType.(ContentType.java:100)
      at org.jboss.ws.core.soap.attachment.MultipartRelatedDecoder.isValidRootType(MultipartRelatedDecoder.java:80)
      at org.jboss.ws.core.soap.attachment.MultipartRelatedDecoder.decodeMultipartRelatedMessage(MultipartRelatedDecoder.java:160)
      at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:241)
      ... 25 more

      Let me know if more detail is required,

      Thanks in advance,
      Navin Bhat