我开始使用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"/>
但这似乎不起作用。我得到一个例外,说“必须在写入实体之前设置内容”。不确定它是什么,但我可能完全错误的做法。请帮帮....
答案 0 :(得分: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" />
谢谢!
答案 1 :(得分:0)
或者,您可以在<object-to-string-transformer doc:name="Object to String"/>
之前使用file:outbound-endpoint
,它将使有效负载成为String格式,并且可以轻松地写入文件
答案 2 :(得分:0)
使用涉及Bytearray的文件连接器和变换器。