You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Victor Rentea (JIRA)" <ji...@apache.org> on 2010/01/27 11:27:35 UTC
[jira] Commented: (AXIS2-4151) JAXWS service with unwrapped
parameters can only be called once.
[ 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.