0

我开始使用 Mule ESB。我正在尝试构建一个接收 SOAP 请求并将其重定向到 SOAP 服务的 SOAP 代理服务。

像这样的简单示例效果很好 -

<flow name="http_redirectFlow1" doc:name="http_redirectFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:8092/HelloProxyService" doc:name="HTTP"/>
    <http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8080/soapsvc/hello" contentType="text/xml" doc:name="HTTP"/>
</flow>

现在我想将请求的内容转储到文件中。最好的方法是什么?我尝试通过在入站和出站端点之间插入此段来使用文件连接器 -

    <file:outbound-endpoint path="c:/temp" outputPattern="temp.txt" responseTimeout="10000" doc:name="File"/>

但这似乎不起作用。我得到一个例外,上面写着“必须在写入实体之前设置内容”。不知道它是什么,但我的行为可能完全错误。请帮忙....

4

3 回答 3

1

我自己想通了。我必须使用 dom-to-xml 转换器将 DOM 转换为 XML。XML 转储按如下方式完成:-

<mulexml:dom-to-xml-transformer returnClass="java.lang.String"></mulexml:dom-to-xml-transformer>
<file:outbound-endpoint path="c:/temp" outputPattern="Dump_Rcvd.txt" responseTimeout="10000" doc:name="File" />

谢谢 !

于 2013-10-28T20:51:24.547 回答
0

使用涉及 Bytearray 的文件连接器和转换器。

于 2015-08-25T18:52:45.240 回答
0

或者,您可以在此<object-to-string-transformer doc:name="Object to String"/>之前使用file:outbound-endpoint将有效负载制作为字符串格式并且可以轻松写入文件

于 2015-07-21T04:37:06.373 回答