我正在使用Mule使用html文件获取输入并使用输入将值添加到xml我能够提取值我只需要在xml中进一步添加它,我该如何继续进行,任何帮助将不胜感激 这是我的配置
<flow name="webappFlow1" doc:name="webappFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="submitData" doc:name="HTTP"/>
<http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>
<logger message="#[payload['VendorId']]" level="INFO" doc:name="Logger"/>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="vendorId" value="#[payload['VendorId']]"/>
</message-properties-transformer>
<file:inbound-endpoint path="src/test/resources" responseTimeout="10000" mimeType="text/xml" doc:name="File"/>
</flow>
下一步是将供应商ID添加到xml文件中 如果xml看起来像
<import>
<field></field>
</import>
我想在字段中添加值 谢谢, 拉胡
答案 0 :(得分:1)
首次接近mule时,首先要了解的是消息源(即入站端点)只能放在流的开头。在它们之后,任何元素都应该是消息处理器。您可以找到更多详细信息here
也就是说,使用自定义组件或使用fileutil module
可以轻松实现您的用例您的流程如下所示:
<flow name="webappFlow1" doc:name="webappFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="submitData" doc:name="HTTP"/>
<http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>
<logger message="#[payload['VendorId']]" level="INFO" doc:name="Logger"/>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="vendorId" value="#[payload['VendorId']]"/>
</message-properties-transformer>
<set-variable variableName="VendorId" value="#[payload['VendorId']]"/>
<file-utils:read-file fileName="import.xml" filePath="/my/path" />
<!-- The following trasformer should be a either some custom java code or a scripting transformer
that process the payload (the xmlFile) and by processing it i adds the flowVar['vendorId'] to it. -->
<trasformer ref="xmlTrasformer" />
</flow>
的信息
答案 1 :(得分:0)
如果提交中的摔角工作室是一个问题,您始终可以使用表达式组件来读取文件。
我注意到您打算从src/test/resources
读取:Studio不会将此路径放在类路径上,因此假设您可以从src/main/app
读取文件,那么以下组件将会读取src/main/app/text.xml
:
<expression-component doc:name="Read Classpath Resource">
payload = Thread.currentThread().contextClassLoader.getResourceAsStream('test.xml')
</expression-component>