我对mule esb有点陌生,我无法解决我遇到的一个问题。以下是发生的情况:我在 mule 3.2.0 中有一个流程,它接收带有对 ws 的请求的对象。我使用 cxf:jaxws-client 将它发送到 ws 和。在这个流程的开始,我有带有请求-响应模式的 vm:inbound 端点。我想要的是将转换应用于从“vmIn 端点”作为响应返回的对象,然后再将其从流的“vm.logService 端点”发送回调用者。我实际上得到了响应,但它是空有效负载。“vm.logService”是我使用 MuleClient.send(url, message, properties) 从 Java 代码发送 MuleMessage 的女巫的端点。我已经读过这应该通过“响应”块来完成,但似乎这没有发生。
这是我的配置
<vm:endpoint name="vmOut" path="vmOut" exchange-pattern="request-response"/>
<vm:endpoint name="vmIn" path="vmIn" exchange-pattern="request-response"/>
<pattern:web-service-proxy
name="name"
inboundEndpoint-ref="vmIn"
transformer-refs="logging"
responseTransformer-refs="logging"
outboundEndpoint-ref="vmOut" />
<flow name="logService">
<vm:inbound-endpoint path="vm.logService"/>
<vm:outbound-endpoint ref="vmIn">
<cxf:jaxws-client serviceClass="my.WSClass" operation="operation"
enableMuleSoapHeaders="false"/>
<object-to-string-transformer/>
</vm:outbound-endpoint>
<response>
<custom transformer name="myTransformer" class="someclass" />
</response>
<flow name="genericTransformer">
<vm:inbound-endpoint path="vmOut"/>
<custom-transformer class="mypkg.GenericServiceTransformer">
</custom-transformer>
</flow>
<flow name="import">
<vm:inbound-endpoint path="vm.import" exchange-pattern="request-response"/>
<http:outbound-endpoint address="${Service}" responseTimeout="${ws.timeout}" exchange-pattern="request-response" />
<object-to-string-transformer/>
</flow>
好吧,在使用 jaxws-client 发送之后,我处理了这个请求消息的流程很少,但我认为这不是它不起作用的原因。提前感谢您的帮助