【发布时间】:2017-06-04 16:58:17
【问题描述】:
从 Mule 3.2.2 向 Mule 3.7.1 进行服务调用时,我收到以下异常。
虽然 org.mule.transformer.types.SimpleDataType 类的串行器在两个运行时都不同,但我不知道为什么这是一个问题。因为 Object 无论如何都被序列化为 SOAP 请求。
感谢任何帮助!
Mule 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)
【问题讨论】:
标签: serialization soap https mule cxf