Serialization mule-进行出站调用时出现序列化异常

Serialization mule-进行出站调用时出现序列化异常,serialization,mule,outbound,Serialization,Mule,Outbound,我有一个简单的流,它有一个http入站端点。我正在尝试使用http出站,并收到以下异常 我能够直接从soapui使用相同的出站。但是,无法通过骡子流呼叫 java.io.OptionalDataException(org.apache.commons.lang.SerializationException) 来自终结点的响应…内部服务器错误,代码:500 INFO 2014-02-17 07:16:41,234 [[updatecustomer].connector.http.mule

我有一个简单的流,它有一个http入站端点。我正在尝试使用http出站,并收到以下异常

我能够直接从soapui使用相同的出站。但是,无法通过骡子流呼叫

java.io.OptionalDataException(org.apache.commons.lang.SerializationException)

来自终结点的响应…内部服务器错误,代码:500

    INFO  2014-02-17 07:16:41,234 [[updatecustomer].connector.http.mule.default.receiver.02]
     org.mule.api.processor.LoggerMessageProcessor: Logger ...in main thread
     java.io.OptionalDataException (org.apache.commons.lang.SerializationException)
希望这个原始xml有助于识别问题

来自SOAP UI输入的原始XML:

    POST http://localhost:8080/foo3 HTTP/1.1
    Accept-Encoding: gzip,deflate
    Content-Type: text/xml;charset=UTF-8
    SOAPAction: ""
    Content-Length: 2044
    Host: localhost:8080
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    HTTP/1.1 200 OK
    Date: Tue, 18 Feb 2014 06:10:56 -0600
    Server: Mule Core/3.4.0
    Content-Type: text/xml; charset=UTF-8
    X-MULE_SESSION: sjkfsdhbbzzzxxxxxxx ....
    http.method: POST
    X-MULE_ENCODING: UTF-8
    Transfer-Encoding: chunked
    Connection: close
    HTTP/1.1 500 Internal Server Error
    Content-Type: text/plain
    Date: Tue, 18 Feb 2014 06:09:49 -0600
    Server: Mule EE Core Extensions/3.4.1
    http.status: 500
    X-MULE_SESSION: sdkfasdfgsdkgfbsdfkxxxxxxxhshduiaodudyy.....
    X-MULE_ENCODING: UTF-8
    Content-Length: 78
    Connection: close
来自SOAP UI输出的原始XML(直接命中端点):

    POST http://localhost:8080/foo3 HTTP/1.1
    Accept-Encoding: gzip,deflate
    Content-Type: text/xml;charset=UTF-8
    SOAPAction: ""
    Content-Length: 2044
    Host: localhost:8080
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    HTTP/1.1 200 OK
    Date: Tue, 18 Feb 2014 06:10:56 -0600
    Server: Mule Core/3.4.0
    Content-Type: text/xml; charset=UTF-8
    X-MULE_SESSION: sjkfsdhbbzzzxxxxxxx ....
    http.method: POST
    X-MULE_ENCODING: UTF-8
    Transfer-Encoding: chunked
    Connection: close
    HTTP/1.1 500 Internal Server Error
    Content-Type: text/plain
    Date: Tue, 18 Feb 2014 06:09:49 -0600
    Server: Mule EE Core Extensions/3.4.1
    http.status: 500
    X-MULE_SESSION: sdkfasdfgsdkgfbsdfkxxxxxxxhshduiaodudyy.....
    X-MULE_ENCODING: UTF-8
    Content-Length: 78
    Connection: close
通过Mule流时从SOAP用户界面生成原始XML:

    POST http://localhost:8080/foo3 HTTP/1.1
    Accept-Encoding: gzip,deflate
    Content-Type: text/xml;charset=UTF-8
    SOAPAction: ""
    Content-Length: 2044
    Host: localhost:8080
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    HTTP/1.1 200 OK
    Date: Tue, 18 Feb 2014 06:10:56 -0600
    Server: Mule Core/3.4.0
    Content-Type: text/xml; charset=UTF-8
    X-MULE_SESSION: sjkfsdhbbzzzxxxxxxx ....
    http.method: POST
    X-MULE_ENCODING: UTF-8
    Transfer-Encoding: chunked
    Connection: close
    HTTP/1.1 500 Internal Server Error
    Content-Type: text/plain
    Date: Tue, 18 Feb 2014 06:09:49 -0600
    Server: Mule EE Core Extensions/3.4.1
    http.status: 500
    X-MULE_SESSION: sdkfasdfgsdkgfbsdfkxxxxxxxhshduiaodudyy.....
    X-MULE_ENCODING: UTF-8
    Content-Length: 78
    Connection: close

这听起来像是您向出站发送了一些不正确的标题或数据,而出站的响应为500错误。一个典型的问题是使用不正确的内容类型标题,因此您可能会在端点之前缺少类似
的内容。同样,从SoapUI添加soap头
SOAPAction
,并确保出站HTTP端点是POST


对于调试,我建议您尝试使用或其他一些简单的HTTP客户端来获得成功的响应,然后在Mule中设置完全相同的头/数据。在出站端点之前使用记录器,以确保您的消息体与您可以在SoapUI/Postman中成功使用的消息体匹配。另外,在您尝试将HTTP响应映射到任何内容之前,请记录HTTP响应,这样您就知道您不是在使用无效数据进行映射。如果您对正在调用的服务具有开发人员访问权限,请查看日志中的内容。

尝试为HTTP连接器设置NullSessionHandler:

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


您能否格式化代码,从而提高其可读性。编辑问题以添加更多信息。尝试了不同的内容类型值,但没有成功。有什么想法吗?我编辑了我的答案,想给你更多的想法。调试的问题是,我不知道http出站中会出现什么,会出现什么,或者应该出现什么。