我已经使用xslt mediator将xml文件转换为另一个xml然后我使用vfs编写文件来创建.xml文件,一切似乎都正常。但我想在文件的开头添加以下标记:
<?xml version="1.0" encoding="UTF-8"?>
我尝试过使用此属性:
<property name="messageType" value="text/xml" scope="axis2" type="STRING"/>
它还将肥皂信封添加到文件中,这不是必需的。
有什么建议吗?我使用的是esb 4.8.0
答案 0 :(得分:1)
xml文件我尝试从本地系统转移到SFTP文件夹。 XML文件已转移,但xml文件没有xml编码()因为wso2esb4.8.1删除了编码标记。所以我用下面的选项来保持xml编码标签。
参数name =“transport.vfs.FileNamePattern as(。。)
参数name =“transport.vfs.ContentType”as(text / plain)
更改代理文件中的这些行。 它对我有用。
答案 1 :(得分:0)
使用其他mime类型(即application/xml
):
<property name="messageType" value="application/xml" scope="axis2" type="STRING"/>
答案 2 :(得分:0)
从ESB发送消息时,将使用消息格式化程序构建传出流。根据邮件的内容类型选择邮件格式化程序。
如果要将消息转换为XML,可以在配置中的发送中介之前添加以下messageType属性。
<property name="messageType" value="application/xml" scope="axis2"/>
添加带有值=&#34; text / xml&#34;的messageType属性时然后SOAP Formatter将用于构建您的传出流(&#34; org.apache.axis2.builder.SOAPBuilder&#34;)。这就是为什么你看到了SOAP Envelope的结果。