【问题标题】:Mule CXF client and receiving an unmarshaled objectMule CXF 客户端并接收未编组的对象
【发布时间】:2012-10-16 01:41:28
【问题描述】:

我正在尝试将 cxf:jaxws-client 与 http 出站端点结合使用,以使用 Mule 3.3 使用 Web 服务。我已经阅读了许多来源(例如Mule CXF Marshall Response),表明如果我想接收我的操作返回的未编组的 Java 对象,cxf:jaxws-client 元素应该放在出站端点内,例如类似:

<http:outbound-endpoint host="localhost" port="9001" path="crmService?wsdl">
   <cxf:jaxws-client operation="getSomething" serviceClass="com.something.Service" />
</http:outbound-endpoint>

但是,当我尝试此操作时,我在 Mule Studio 中收到架构错误,指出“JAX-WS 客户端不允许成为元素 HTTP 的子级”。如果以上不被允许,我如何获取操作返回的未编组对象?

【问题讨论】:

  • 通常,cxf:jaxws-client 放在http:outbound-endpoint 之前。

标签: jaxb cxf mule


【解决方案1】:

所以问题在于 Studio 不支持端点内的嵌套 MP。您需要做的是将 jaxws-client 放在出站端点之前。

由于 CXF MP 的工作方式,它将处理以下 MP,然后返回到将解组响应的 jaxws 客户端。因此,出站端点之后的有效负载将是肥皂消息。要获取 POJO,您需要使用 jaxws 客户端和出站端点声明一个子流。子流执行后,主流将根据需要获取 POJO。

我们需要更新文档以明确此行为。

HTH 伊娃

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多