[ 
https://issues.apache.org/jira/browse/AXIS2-4151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805456#action_12805456
 ] 

Victor Rentea commented on AXIS2-4151:
--------------------------------------

I ran into the same problem, and I want to share some of my observations. I 
must say I am no advanced user of Axis2.
Environment: axis2 1.5.1
JAX-WS service deployed as a jar in servicejars

when I specfy a soapAction in there

<binding name="VersionPortBinding" type="tns:VersionSEI">
                <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; />
                <operation name="getVersion">
                        <soap:operation  soapAction="http://caca"/>
                        <input>
                                <soap:body use="literal" />
                        </input>
                        <output>
                                <soap:body use="literal" />
                        </output>
                </operation>
        </binding>

when I invoke the service i get 
javax.xml.bind.UnmarshalException: unexpected element 
(uri:"http://messages.jaxws.sample/";, local:"getVersion"). Expected elements 
are (none)
        at 
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:609)


When I remove that soapAction attribute, the exception does not appear any 
more. (in the HTTP header the SOAPAction header value is "")

> JAXWS service with unwrapped parameters can only be called once.
> ----------------------------------------------------------------
>
>                 Key: AXIS2-4151
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4151
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.4.1
>         Environment: AXIS2 1.4.1
> JAXWS RI 2.1.1
> JDK 1.6 Update 10
>            Reporter: Thomas Reuhl
>            Priority: Minor
>         Attachments: WrappedTest.jar, WrappedTest.wsdl, WrappedTest2.jar
>
>
> A jaxws-service using unwrapped parameters can only be called once 
> successfully. It 
> produces an error on all subsequent requests (see section Exception and 
> attached file Exception.txt).
> Creating the service uinsg the wrapped style works all the time.
> To reproduce (or simply deploy the two service jars in the servicejars 
> directory):
> - Use wsimport of the jaxws reference implementation to produce two 
> webservices from the
>   wsdl below.
> - For the one using parameter unwrapping use a customization file with the 
> following content:
> <bindings
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>     wsdlLocation="http://localhost:8085/test/WrappedTest.wsdl";
>     xmlns="http://java.sun.com/xml/ns/jaxws";>
>     <enableWrapperStyle>true</enableWrapperStyle>
> </bindings>
> - For the not one using wrapped parameters use a customization file with the 
> following content:
> <bindings
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>     wsdlLocation="http://localhost:8085/test/WrappedTest.wsdl";
>     xmlns="http://java.sun.com/xml/ns/jaxws";>
>     <enableWrapperStyle>false</enableWrapperStyle>
> </bindings>
> - Create an annotated impelementation.
> - Deploy both jars in the servicejars directory.
> WSDL
> =====
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="Messages"
>       targetNamespace="http://services.test.tom.com";
>       xmlns:tns="http://services.test.tom.com";
>       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>     xmlns="http://schemas.xmlsoap.org/wsdl/";
>     xmlns:xs="http://www.w3.org/2001/XMLSchema";>
>     
>     <types>
>               <xs:schema
>                       targetNamespace="http://services.test.tom.com";
>                       xmlns="http://services.test.tom.com";
>                       elementFormDefault="qualified">
>                       <xs:element name="LoadMessage" type="LoadMessage"/>
>                       <xs:complexType name="LoadMessage">
>                               <xs:sequence>
>                                       <xs:element name="messageID" 
> type="xs:long"/>
>                               </xs:sequence>
>                       </xs:complexType>
>                       <xs:element name="Message" type="Message"/>
>                       <xs:complexType name="Message">
>                               <xs:sequence>
>                                       <xs:element name="content" 
> type="xs:string"/>
>                               </xs:sequence>
>                       </xs:complexType>
>               </xs:schema>
>               
>       </types>
>       
>       <message name="LoadMessageRequest">
>               <part name="filter" element="tns:LoadMessage"/>
>       </message>
>       <message name="LoadMessageResponse">
>               <part name="return" element="tns:Message"/>
>       </message>
>       
>       <portType name="Messages">
>               <operation name="LoadMessage">
>                       <input name="LoadMessageRequestPT" 
> message="tns:LoadMessageRequest"/>
>                       <output name="LoadMessageResponsePT" 
> message="tns:LoadMessageResponse"/>
>               </operation>
>       </portType>
>       
>       <binding name="MessagesBinding" type="tns:Messages">
>               <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>               
>               <operation name="LoadMessage">
>                       <soap:operation soapAction="LoadMessage" 
> style="document"/>
>                       <input name="LoadMessageRequestPT">
>                               <soap:body use="literal"/>
>                       </input>
>                       <output name="LoadMessageResponsePT">
>                               <soap:body use="literal"/>
>                       </output>
>               </operation>
>       </binding>
>       
>       <service name="MessagesService">
>               <port name="Messages" binding="tns:MessagesBinding">
>                       <soap:address 
> location="http://127.0.0.1:5555/ws/wsdl:Messages"/>
>               </port>
>       </service>
> </definitions>
> EXCEPTION
> ==========
> [ERROR] javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: unexpected element 
> (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected elements 
> are (none)]
> org.apache.axis2.AxisFault: javax.xml.bind.UnmarshalException - with linked 
> exception:
> [javax.xml.bind.UnmarshalException: unexpected element 
> (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected elements 
> are (none)]
>         at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>         at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:220)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)
>         at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
> uest(HTTPTransportUtils.java:275)        at 
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>         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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.xml.ws.WebServiceException: 
> javax.xml.bind.UnmarshalException - with linked exception:
> [javax.xml.bind.UnmarshalException: unexpected element 
> (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected elements 
> are (none)]
>         at 
> org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)
>         at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)
>         at 
> org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)
>         at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:217)
>         ... 17 more
> Caused by: javax.xml.bind.UnmarshalException - with linked exception:
> [javax.xml.bind.UnmarshalException: unexpected element 
> (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected elements 
> are (none)]
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:421)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:330)
>         at 
> org.apache.axis2.datasource.jaxb.JAXBDSContext$4.run(JAXBDSContext.java:693)
>         at 
> org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:76)
>         at 
> org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshalByElement(JAXBDSContext.java:690)
>         at 
> org.apache.axis2.datasource.jaxb.JAXBDSContext.unmarshal(JAXBDSContext.java:243)
>         at 
> org.apache.axis2.datasource.jaxb.JAXBCustomBuilder.create(JAXBCustomBuilder.java:80)
>         at 
> org.apache.axiom.om.impl.builder.StAXOMBuilder.createWithCustomBuilder(StAXOMBuilder.java:291)
>         at 
> org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:178)
>         at 
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPBodyImpl.buildNext(SOAPBodyImpl.java:171)
>         at 
> org.apache.axiom.om.impl.llom.OMNodeImpl.getNextOMSibling(OMNodeImpl.java:141)
>         at 
> org.apache.axiom.om.impl.llom.OMElementImpl.getFirstElement(OMElementImpl.java:961)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPBodyImpl.getFirstElementLocalName(SOAPBodyImpl.java:220)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPBodyImpl.hasFault(SOAPBodyImpl.java:99)
>         at 
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.hasFault(SOAPEnvelopeImpl.java:262)
>         at 
> org.apache.axis2.jaxws.message.util.MessageUtils.getMessageFromMessageContext(MessageUtils.java:177)
>         at 
> org.apache.axis2.jaxws.core.MessageContext.<init>(MessageContext.java:101)
>         at 
> org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:114)
>         ... 17 moreCaused by: javax.xml.bind.UnmarshalException: unexpected 
> element (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected 
> elements are (none)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:603)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:244)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:239)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1009)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:446)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:427)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.MTOMDecorator.startElement(MTOMDecorator.java:107)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:275)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:209)
>         at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
>         ... 35 more
> Caused by: javax.xml.bind.UnmarshalException: unexpected element 
> (uri:"http://services.test.tom.com";, local:"LoadMessage"). Expected elements 
> are (none)
>         ... 46 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to