[JBoss JIRA] Created: (JBWS-2166) WSA client handler throws exception when installing reference parameters
by Andrew Dinn (JIRA)
WSA client handler throws exception when installing reference parameters
------------------------------------------------------------------------
Key: JBWS-2166
URL: http://jira.jboss.com/jira/browse/JBWS-2166
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.0.1
Reporter: Andrew Dinn
WSAddressingClientHandler.handleOutbound in package org.jboss.ws.extensions.addressing.jaxws is throwing the following exception when inserting reference parameters into a reply:
10:52:44,104 ERROR [SOAPFaultHelperJAXWS] SOAP request exception
javax.xml.ws.WebServiceException: org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.processHandlerFailure(HandlerChainExecutor.java:276)
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:155)
at org.jboss.ws.core.jaxws.client.ClientImpl.callRequestHandlerChain(ClientImpl.java:191)
at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:298)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:172)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:152)
at $Proxy93.soapFault(Unknown Source)
at com.arjuna.webservices11.wsaddr.client.SoapFaultClient.sendSoapFault(SoapFaultClient.java:72)
at com.arjuna.webservices11.wsat.client.ParticipantClient.sendSoapFault(ParticipantClient.java:150)
at com.arjuna.wst11.messaging.CoordinatorProcessorImpl.sendInvalidState(CoordinatorProcessorImpl.java:272)
at com.arjuna.wst11.messaging.CoordinatorProcessorImpl.prepared(CoordinatorProcessorImpl.java:176)
at com.arjuna.webservices11.wsat.sei.CoordinatorPortTypeImpl$1.executeTask(CoordinatorPortTypeImpl.java:61)
at com.arjuna.services.framework.task.TaskWorker.run(TaskWorker.java:65)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
at org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source)
at org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source)
at org.jboss.ws.core.soap.NodeImpl.appendChild(NodeImpl.java:477)
at org.jboss.ws.core.soap.SOAPHeaderImpl.appendChild(SOAPHeaderImpl.java:198)
at org.jboss.ws.core.soap.SOAPElementImpl.addChildElement(SOAPElementImpl.java:274)
at org.jboss.ws.core.soap.SOAPHeaderImpl.addChildElement(SOAPHeaderImpl.java:70)
at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.appendElement(SOAPAddressingPropertiesImpl.java:374)
at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.appendElements(SOAPAddressingPropertiesImpl.java:352)
at org.jboss.ws.extensions.addressing.soap.SOAPAddressingPropertiesImpl.writeHeaders(SOAPAddressingPropertiesImpl.java:306)
at org.jboss.ws.extensions.addressing.jaxws.WSAddressingClientHandler.handleOutbound(WSAddressingClientHandler.java:113)
at org.jboss.ws.core.jaxws.handler.GenericHandler.handleMessage(GenericHandler.java:55)
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:295)
at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:140)
... 13 more
The situation which manifests this problem is as follows:
Client A attaches WS AddressingProperties to a port for server B, It installs a ReplyTo epr whose address identifies server A. It attaches a reference parameter wsarj:identifier to the epr. Client A then invokes service B.
The implementation method of service B retrieves the request AddressingProperties from its message context and sets up a reply AddressingProperties instance by calling AddressingProperties.initializeAsReply. It obtains a port for service A, installs the reply properties on the port then invokes service A. The client handler under this invocation gets the error.
The problem is that the SOAP implementation does not copy the reference parameter Element instance when it tries to insert them into the outgoing message. intiializeAsReply retrieves these elements from the incoming context ReplyTo/FaultTo and adds them to the element extension list of the reply addressing context. The client handler calls SOAPAddressingHandlerImpl.writeHeaders to add these elements as headers in the outbound message. writeHeaders eventually calls SOAPHeaderImpl.addChildElement to add each reference parameter Element to the outgoing message header. addChildElement tests whether the Element is a SOAP element and, if so, assumes that it can be inserted directly into the outgoing message by calling appendElement. Unfortunately, the incoming reference parameters are associated with a dom node whose document is non-null and this barfs,claiming that someone is attempting a switcheroo on the document.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[JBoss JIRA] Created: (JBWS-2532) Fix MTOM/XOP Content Type Testcase failure
by Magesh Kumar B (JIRA)
Fix MTOM/XOP Content Type Testcase failure
------------------------------------------
Key: JBWS-2532
URL: https://jira.jboss.org/jira/browse/JBWS-2532
Project: JBoss Web Services
Issue Type: Task
Security Level: Public (Everyone can see)
Components: jbossws-metro
Affects Versions: jbossws-metro-3.0.5
Reporter: Magesh Kumar B
Assignee: Magesh Kumar B
Fix For: jbossws-metro-3.1.1
org.jboss.test.ws.jaxws.jbws2419.JBWS2419TestCase.testSOAP11ClientAccess
Failing for the past 1 build (since Unstable#67)
Took 0 seconds.
javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://localhost:8080/jaxws-jbws2419/soap11?wsdl. It failed with:
http://localhost:8080/jaxws-jbws2419/soap11?wsdl.
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:162)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:264)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:227)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:175)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
at javax.xml.ws.Service.<init>(Service.java:56)
at javax.xml.ws.Service.create(Service.java:680)
at org.jboss.test.ws.jaxws.jbws2419.JBWS2419TestCase.testSOAP11ClientAccess(JBWS2419TestCase.java:85)
Caused by: java.io.FileNotFoundException: http://localhost:8080/jaxws-jbws2419/soap11?wsdl
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1168)
at java.net.URL.openStream(URL.java:1007)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:805)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
... 36 more
org.jboss.test.ws.jaxws.jbws2419.JBWS2419TestCase.testSOAP12ClientAccess
Failing for the past 1 build (since Unstable#67)
Took 0 seconds.
javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://localhost:8080/jaxws-jbws2419/soap12?wsdl. It failed with:
http://localhost:8080/jaxws-jbws2419/soap12?wsdl.
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:162)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:264)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:227)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:175)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
at javax.xml.ws.Service.<init>(Service.java:56)
at javax.xml.ws.Service.create(Service.java:680)
at org.jboss.test.ws.jaxws.jbws2419.JBWS2419TestCase.testSOAP12ClientAccess(JBWS2419TestCase.java:66)
Caused by: java.io.FileNotFoundException: http://localhost:8080/jaxws-jbws2419/soap12?wsdl
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1168)
at java.net.URL.openStream(URL.java:1007)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:805)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
... 36 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[JBoss JIRA] Created: (JBWS-2586) SOAPMessage.writeTo throws "IllegalStateException: XOP parameter not properly inlined" when called within JAX-WS handler.
by Darran Lofthouse (JIRA)
SOAPMessage.writeTo throws "IllegalStateException: XOP parameter not properly inlined" when called within JAX-WS handler.
-------------------------------------------------------------------------------------------------------------------------
Key: JBWS-2586
URL: https://jira.jboss.org/jira/browse/JBWS-2586
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.1.0
Reporter: Darran Lofthouse
Assignee: Darran Lofthouse
Fix For: jbossws-native-3.1.1
Calling writeTo on a SoapMessage from within a JAX-WS handler handling an incoming message the following exception is thrown: -
16:17:18,230 ERROR [STDERR] java.lang.IllegalStateException: XOP parameter not properly inlined
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.soap.SOAPMessageImpl.saveChanges(SOAPMessageImpl.java:253)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.soap.SOAPMessageImpl.writeTo(SOAPMessageImpl.java:309)
16:17:18,231 ERROR [STDERR] at org.jboss.support.ws.handler.CustomHandler.handleMessage(CustomHandler.java:35)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:305)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.jaxws.handler.HandlerChainExecutor.handleMessage(HandlerChainExecutor.java:142)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:97)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.server.ServiceEndpointInvoker.callRequestHandlerChain(ServiceEndpointInvoker.java:125)
16:17:18,231 ERROR [STDERR] at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:201)
This can be resolved by moving the following two lines within the ServiceEndpointInvoker to above the handler calls: -
if (binding instanceof CommonSOAPBinding)
XOPContext.setMTOMEnabled(((CommonSOAPBinding)binding).isMTOMEnabled());
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month