Question

I am getting error (Optional Data Exception) while calling an mule application which is deployed in 3.4.0 mule server from an mule application deployed in 3.4.1 mule server.

Following is a sample description to explain the issue:

One Mule project (named: GetEmployeeData) which fetches data from database is deployed in mule server with version 3.4.0. The endpoints exposed is HTTP for this project.

Another mule project (named EmployeeManagement) is internally hitting (calling) the HTTP endpoints of GetEmployeeData project.

Project EmployeeManagement is deployed in mule server with version 3.4.1.

When EmployeeManagement project hits the GetEmployeeData project, the HTTP response it returns is OptionalDataException.

For workaround, we changed the jar file:mule-core-3.4.1.jar in the mule server 3.4.1 to mule-core-3.4.0.jar, then the HTTP response from GetEmployeeData works fine.

Please reply if somebody faced similar issue like this and is it a known issue. In my case, i am hitting a third party service, so i can't tell them to upgrade there application to 3.4.1. Also, do i need to change anything around my process to get proper response.

Was it helpful?

Solution

This sounds like a session serialization issue that's incompatible between 3.4.0 and 3.4.1.

Try setting a NullSessionHandler for the HTTP connector of both Mules:

<http:connector name="NoSessionConnector">
    <service-overrides sessionHandler="org.mule.session.NullSessionHandler" />
</http:connector>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top