Client SOAP handler exception when used in conjunction with WS-RM (Web Service Reliable Messaging). (Doc ID 1263095.1)

Last updated on JUNE 09, 2016

Applies to:

Oracle Weblogic Server - Version: 10.3.2 and later   [Release: and later ]
Information in this document applies to any platform.

Symptoms

In the scenario of using WebLogic Webservices Reliable Messaging,
Web Service A (Reliable Client) ---> Web Service B (Reliable Service)

If you are using SOAP handlers for both Web Service A & to Web Service B, with client handler, you may get below exception trace.

This issue can be reproduced with Reliable Web Service example bundled with WLS installation.

<BEA_Home>\wlserver_10.3\samples\server\examples\src\examples\webservice\reliable

When attempting to run the reliable web service example with SOAP client handler you will encounter the below error:
[java] Exception in thread "Main Thread" java.rmi.RemoteException: SOAPFaultException - FaultCode [{http://schemas.xmlsoap.org/soap/envelope/}Server] FaultString [Failed to invoke end component examples.webservices.reliable.ReliableClientImpl (POJO), operation=callHelloWorld
[java] -> Failed to invoke method
[java] -> [Store:280051]The persistent store was not able to create a new record.; nested exception is:
[java] weblogic.store.PersistentStoreRuntimeException: [Store:280051]The persistent store was not able to create a new record.
[java] ] FaultActor [null] Detail [<detail><bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.store.PersistentStoreRuntimeException: [Store:280051]The persistent store was not able to create a new record.
[java] at weblogic.store.internal.PersistentStoreConnectionImpl.serialize(PersistentStoreConnectionImpl.java:248)
[java] at weblogic.store.internal.PersistentStoreConnectionImpl.createInternal(PersistentStoreConnectionImpl.java:67)
[java] at weblogic.store.internal.PersistentStoreConnectionImpl.create(PersistentStoreConnectionImpl.java:53)
[java] at weblogic.messaging.kernel.internal.PersistenceImpl.createQueueMessageReference(PersistenceImpl.java:515)
[java] at weblogic.messaging.kernel.internal.PersistenceImpl.createQueueMessage(PersistenceImpl.java:495)
[java] at weblogic.messaging.kernel.internal.SendOperation.onPrepare(SendOperation.java:139)
[java] at weblogic.store.gxa.internal.GXAOperationWrapperImpl.onPrepare(GXAOperationWrapperImpl.java:153)
[java] at weblogic.store.gxa.internal.GXAAbstractTransaction.loopOperationCallbacks(GXAAbstractTransaction.java:239)
[java] Caused by: java.io.IOException: The property weblogic.wsee.handler.jaxrpcHandlerChain is not serializable
[java] at weblogic.wsee.async.SOAPInvokeState.writeExternal(SOAPInvokeState.java:441)
[java] at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
[java] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
[java] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
[java] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
[java] at weblogic.messaging.saf.common.SAFRequestImpl.writeExternal(SAFRequestImpl.java:246)
[java] at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
[java] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
[java] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
[java] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)

Workaround:
Add the below system property in the server startup script to work around this issue.
-Dweblogic.wsee.exclude.properties= weblogic.wsee.handler.jaxrpcHandlerChain

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms