Mule 3.2.2からMule 3.7.1へのサービスコール中に、次の例外が発生します。Mule ESBのシリアル化互換性のエラー
org.mule.transformer.types.SimpleDataTypeクラスのserialverは両方のランタイムで異なりますが、なぜこれが問題であるかわかりません。とにかくオブジェクトはSOAP要求にシリアル化されているためです。
ご協力いただきましてありがとうございます。ミュール3.2.2ランタイムで
クライアントコード:
<cxf:jaxws-client serviceClass="org.test" doc:name="SOAP" >
<cxf:ws-security>
<cxf:ws-config>
<cxf:property key="action" value="UsernameToken"/>
<cxf:property key="user" value="test"/>
<cxf:property key="passwordCallbackRef" value-ref="passwordCallbackHandler" />
<cxf:property key="passwordType" value="PasswordText" />
</cxf:ws-config>
</cxf:ws-security>
例外:
Message : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=https://testlb:17105/service/1.0/, connector=HttpsConnector
{
name=connector.https.mule.default
lifecycle=start
this=60de93b4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[https]
serviceOverrides=<none>
}
, name='endpoint.https.testlb.17105.service.1.0', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=60000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod
Code : MULE_ERROR-42999
--------------------------------------------------------------------------------
Exception stack is:
1. org.mule.transformer.types.SimpleDataType; local class incompatible: stream classdesc serialVersionUID = 734974842501135657, local class serialVersionUID = 6394740184248968880 (java.io.InvalidClassException)
java.io.ObjectStreamClass:617 (null)
2. java.io.InvalidClassException: org.mule.transformer.types.SimpleDataType; local class incompatible: stream classdesc serialVersionUID = 734974842501135657, local class serialVersionUID = 6394740184248968880 (org.apache.commons.lang.SerializationException)
org.mule.util.SerializationUtils:89 (null)
3. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=https://testlb:17105/service/1.0/, connector=HttpsConnector
{
name=connector.https.mule.default
lifecycle=start
this=60de93b4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[https]
serviceOverrides=<none>
}
, name='endpoint.https.testlb.17105.service.1.0', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=60000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod (org.mule.api.transport.DispatchException)
org.mule.transport.AbstractMessageDispatcher:109 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.io.InvalidClassException: org.mule.transformer.types.SimpleDataType; local class incompatible: stream classdesc serialVersionUID = 734974842501135657, local class serialVersionUID = 6394740184248968880
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
ありがとうございます。私はシリアル化をしていませんが、私はMuleが内部的にそれをシリアル化していると信じていますので、どうやってそれを取り除くのか分かりません。私はMuleクラスを代用することをお勧めします。私はおそらくムールに助言を求めるでしょう。再度、感謝します! – Kgan