Hello,

I have a cxf client deployed under a web-module A on WAS 8.5 with versions
as cxf 2.7.8 and a wss4j 1.6.13.
The service provider B is on Tomcat with similar configuration.
I had to set the class loader policy for web project to parent last and I
also disabled Websphere's JAXWS engine.
I have been able to send a message from A to B without any issues.
UserNameToken profile worked as well.
Both the outgoing and incoming messages are signed.
When I send  a signature from web module on Websphere, module in tomcat is
able to verify the signature.
But when I send a signature and encrypted data  from tomcat web module to
the one in WebSphere 8.5, the thread hangs and I see following in the logs
after sometime:
I am not sure why it uses Webshpere specific classes even though I have
disabled its WS engine.

-----------------------------------
[2/24/14 16:37:48:802 EST] 0000005d ThreadMonitor W   WSVR0605W: Thread
"WebContainer : 4" (000001b0) has been active for 603981 milliseconds and
may be hung.  There is/are 5 thread(s) in total in the server that may be
hung.
    at
com.ibm.ws.webservices.engine.xmlsoap.dom.impl.DOMElementImpl.<init>(DOMElementImpl.java:97)
    at
com.ibm.ws.webservices.engine.xmlsoap.dom.impl.DOMElementImpl_MS.<init>(DOMElementImpl_MS.java:133)
    at
com.ibm.ws.webservices.engine.xmlsoap.SOAPElement.<init>(SOAPElement.java:465)
    at
com.ibm.ws.webservices.engine.xmlsoap.SOAPBodyElement.<init>(SOAPBodyElement.java:100)
    at
com.ibm.ws.webservices.engine.xmlsoap.SOAPBody.createChildElement(SOAPBody.java:354)
    at
com.ibm.ws.webservices.engine.xmlsoap.SOAPElement.wrapChildDOMNode(SOAPElement.java:3218)
    at
com.ibm.ws.webservices.engine.xmlsoap.SOAPElement.insertBefore(SOAPElement.java:1896)
    at org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown Source)
    at org.apache.xerces.dom.ParentNode.replaceChild(Unknown Source)
    at
org.apache.xml.security.encryption.XMLCipher.decryptElement(XMLCipher.java:1633)
    at
org.apache.xml.security.encryption.XMLCipher.decryptElementContent(XMLCipher.java:1656)
    at
org.apache.xml.security.encryption.XMLCipher.doFinal(XMLCipher.java:978)
    at
org.apache.ws.security.processor.ReferenceListProcessor.decryptEncryptedData(ReferenceListProcessor.java:337)
    at
org.apache.ws.security.processor.EncryptedKeyProcessor.decryptDataRef(EncryptedKeyProcessor.java:451)
    at
org.apache.ws.security.processor.EncryptedKeyProcessor.decryptDataRefs(EncryptedKeyProcessor.java:380)
    at
org.apache.ws.security.processor.EncryptedKeyProcessor.handleToken(EncryptedKeyProcessor.java:178)
    at
org.apache.ws.security.processor.EncryptedKeyProcessor.handleToken(EncryptedKeyProcessor.java:65)
    at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)
    at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:270)
    at
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:95)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835)

Can someone please help me find out what's going wrong here?

Thanks,
Giriraj.

Reply via email to