2014-04-30 114 views
1

我在調用從3.4.1 mule服務器中部署的3.4.0 mule服務器中的mule應用程序調用mule應用程序時出現錯誤(可選數據異常)。Mule版本兼容性問題

下面是一個示例說明來解釋這個問題:

一個騾子項目(命名爲:GetEmployeeData),其獲取從數據庫中的數據部署在騾服務器3.4.0版本。這個項目提供的端點是HTTP。

另一個mule項目(名爲EmployeeManagement)在內部觸發(調用)GetEmployeeData項目的HTTP端點。

項目EmployeeManagement部署在版本3.4.1的mule服務器中。

當EmployeeManagement項目命中GetEmployeeData項目時,它返回的HTTP響應是OptionalDataException。

解決方法是,將mule-server-3.4.0.jar中的jar文件:mule-core-3.4.1.jar更改爲mule-core-3.4.0.jar,然後GetEmployeeData的HTTP響應正常工作。

如果有人遇到類似的問題,請回復,這是一個已知的問題。就我而言,我正在打第三方服務,所以我不能告訴他們將應用程序升級到3.4.1。另外,我是否需要改變我的流程以獲得適當的迴應。

+0

您可以包括從GetEmployeeData流?你可以嘗試使用捲曲來重現它嗎? –

+0

這個例子只是爲了解釋,在實際應用中,我們正在調用一個不同的團隊(部門)騾應用程序,我不能在我的應用程序中包含該應用程序。謝謝 !! –

回答

0

這聽起來像是3.4.0和3.4.1之間不兼容的會話序列化問題。

嘗試設置兩個騾子的HTTP連接器的NullSessionHandler

<http:connector name="NoSessionConnector"> 
    <service-overrides sessionHandler="org.mule.session.NullSessionHandler" /> 
</http:connector> 
+0

非常感謝大衛,這解決了我的問題。如果你可以看看我之前發佈在stackoverflow上的問題並給出一些建議,那將會非常有幫助。謝謝你的幫助!! –