You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Paweł Zięba <pa...@gmail.com> on 2013/02/05 11:02:56 UTC

WRONG_DOCUMENT_ERR when invoking CXF client with WSS interceptor from JBoss 5.1.0GA

Hi,

I'm facing odd problem when deploying CXF client application with WSS
security token on JBoss.

Everything works fine until application is deployed on JBoss. It failed
with this error:

Unexpected exception occured
javax.xml.ws.soap.SOAPFaultException: WRONG_DOCUMENT_ERR: A node is
used in a different document
than the one that created
it.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)

at $Proxy1020.getAccountStatements(Unknown Source)
at
com.sru.statement.impl.cs.CSStatementGetter.getStatementFromBank(CSStatementGetter.java:164)

at
com.sru.statement.impl.cs.CSStatementGetter.getStatement(CSStatementGetter.java:90)

at
com.sru.hub.common.statement.CommonStatementImportExecutor.execute(CommonStatementImportExecutor.java:89)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)

(...)
at
org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)
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.CoreDocumentImpl.insertBefore(Unknown Source)
at org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source)
at org.jboss.ws.core.soap.SOAPDocument.appendChild(SOAPDocument.java:222)
at org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:297)
at
org.apache.cxf.staxutils.W3CDOMStreamWriter.setChild(W3CDOMStreamWriter.java:119)

at
org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:109)

at
org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:137)

at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:122)

at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:81)

at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:61)

at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:462)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:365)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:318)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:95)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)

... 80 more

If client is invoked without WSS authentication it works both standalone
and on JBoss.

Libraries versions:
CXF - 2.4.2 (I tried also 2.5.7 and 2.5.8),
JBoss - 5.1.0GA

I believe the problem is caused by SAAJ libraries contained in JBoss. I
have two SAAJ implementations in JBoss's /lib/endorsed directory:
axis-saaj.jar and jboss-native-saaj.jar. If I remove those libraries or/and
add SAAJ implementation straight to WAR file of the application, the
application hangs (nothing happen; there's not error both in the browser
and in logs).

I also describe the problem here:
http://stackoverflow.com/questions/14629204/wrong-document-err-when-invoking-cxf-client-with-wss-interceptor-from-jboss-5-1

Anyone face those problem before?

Best regards.
Paweł Zięba