2017-12-12 1 views
0

私は、クラスターWebサービスを呼び出すJavaプログラムを持っていますが、以下のエラーを返します。 Javaプログラムは、クラスタweblogicでホストされています。私はウェブサービスのために容疑者を持っています。ではない?? "weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)"を参照してください。Webサービスを呼び出す例外を呼び出す

package com.xxxx.ws; 
public class AccountServiceServiceStub extends org.apache.axis2.client.Stub 
     { 
     public static class StatementDetail 
       implements org.apache.axis2.databinding.ADBBean{ 

// -----------------詳細----------------------- -------------------------

####<Dec 12, 2017 8:47:35,895 AM HKT> <Error> <Cluster> <uat-application04> <uatwebapp04> <[ACTIVE] ExecuteThread: '320' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <668c1574-eb8d-472d-9727-b70a31158297-0000020d> <1513039655895> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-003144> <All session objects should be serializable to replicate. Check the objects in the session. Failed to replicate a non-serializable object in context /aeon_awip_one_piece. 
java.rmi.MarshalException: failed to marshal update(Lweblogic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.lang.Object;); nested exception is: 
     java.io.NotSerializableException: com.xxx.bls.ws.AccountServiceServiceStub$StatementDetail 
     at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:100) 
     at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:297) 
     at weblogic.cluster.replication.RemoteReplicationServicesInternalImpl_12213_WLStub.update(Unknown Source) 
     at sun.reflect.GeneratedMethodAccessor578.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:222) 
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) 
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:137) 
     at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:192) 
     at com.sun.proxy.$Proxy320.update(Unknown Source) 
     at weblogic.cluster.replication.ReplicationServicesImplBase.sendUpdateRequestToSecondary(ReplicationServicesImplBase.java:1670) 
     at weblogic.cluster.replication.ReplicationServicesImplBase.updateSecondaryInternal(ReplicationServicesImplBase.java:1559) 
     at weblogic.cluster.replication.ReplicationServicesImplBase.updateSecondary(ReplicationServicesImplBase.java:1525) 
     at weblogic.cluster.replication.ReplicationServicesImplBase.updateSecondary(ReplicationServicesImplBase.java:1520) 
     at weblogic.servlet.internal.session.ReplicatedSessionData._syncSession(ReplicatedSessionData.java:741) 
     at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:705) 
     at weblogic.servlet.internal.session.SessionContext.sync(SessionContext.java:161) 
     at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3445) 
     at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSessions(ServletRequestImpl.java:3423) 
     at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3411) 
     at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1800) 
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) 
     at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) 
     at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) 
     at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) 
     at weblogic.servlet.internal.ServletResponseImpl.syncSession(ServletResponseImpl.java:1796) 
     at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1731) 
     at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1713) 
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1663) 
     at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272) 
     at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) 
     at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) 
     at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) 
     at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 
     at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:355) 
Caused By: java.io.NotSerializableException: com.xxxx.ws.AccountServiceServiceStub$StatementDetail 
     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) 
     at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) 
     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
     at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
     at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
     at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
     at java.util.ArrayList.writeObject(ArrayList.java:762) 
     at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) 
+1

あなたの 'StatementDetail'オブジェクトは直列化できません。 –

答えて

0

私は、Webサービスのために容疑者を持っています。ではない??

おそらくそうではありません。 (!いくつかのWebサービス・ツールは、そのソースコードを生成しない限り)

例外メッセージは言う:

Caused By: java.io.NotSerializableException: 
    com.xxxx.ws.AccountServiceServiceStub$StatementDetail 

これはかなり明確です。 StatementDetailインスタンスはシリアル化できません。

ここで、StatementDetailクラスがADBBeanthis version)のSerializableに拡張されていることがわかりました。しかしそれだけでは十分ではありません。また、インスタンスの非過渡フィールドのすべての値もシリアル化可能でなければなりません。

関連する問題