Mule版本兼容性问题

时间:2014-04-30 18:40:17

标签: mule

我在调用mule应用程序时遇到错误(可选数据异常),该应用程序部署在3.4.0 mule服务器中,部署在3.4.1 mule服务器中的mule应用程序中。

以下是解释此问题的示例说明:

从数据库中获取数据的一个Mule项目(名为:GetEmployeeData)部署在版本为3.4.0的mule服务器中。公开的端点是此项目的HTTP。

另一个mule项目(名为EmployeeManagement)在内部命中(调用)GetEmployeeData项目的HTTP端点。

项目EmployeeManagement部署在版本为3.4.1的mule服务器中。

当EmployeeManagement项目命中GetEmployeeData项目时,它返回的HTTP响应是OptionalDataException。

为了解决方法,我们将mule服务器3.4.1中的jar文件:mule-core-3.4.1.jar更改为mule-core-3.4.0.jar,然后GetEmployeeData的HTTP响应正常工作。

如果有人遇到类似的问题,请回复,这是一个众所周知的问题。在我的情况下,我正在打第三方服务,所以我不能告诉他们将应用程序升级到3.4.1。另外,我是否需要更改流程周围的任何内容以获得正确的响应。

1 个答案:

答案 0 :(得分:0)

这听起来像是3.4.0和3.4.1之间不兼容的会话序列化问题。

尝试为两个Mules的HTTP连接器设置NullSessionHandler

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