1

我正在尝试将 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 的子级”。如果以上不允许,我如何获取操作返回的未编组对象?

4

1 回答 1

2

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

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

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

HTH 伊娃

于 2012-07-10T17:21:25.090 回答