【发布时间】:2022-02-07 21:07:02
【问题描述】:
我正在尝试使用肥皂信封、标题和正文设置有效负载。
然后通过 payload.indexOf("?>")+2 子串有效载荷
基于以下表达式:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://decisionresearch.com/RateMaker">
<soapenv:Header/>
<soapenv:Body>
#[payload.substring(payload.indexOf("?>")+2)]
</soapenv:Body>
</soapenv:Envelope>
输入请求:https://github.com/Manikandan99/Map_request/blob/main/Request_map.xml
预期输出:https://github.com/Manikandan99/Map_request/blob/main/Response_map.xml
骡流:
<flow name="map_requestFlow" doc:id="21d0d652-3766-47ed-95aa-a451f62c5776" >
<http:listener doc:name="Listener" doc:id="7312114b-2857-40b3-98cd-f52b628b3a28" config-ref="HTTP_Listener_config" path="/map"/>
<ee:transform doc:name="Transform Message" doc:id="7f061325-473b-4f63-8e95-990827b03259" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/xml
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="INFO" doc:name="Logger" doc:id="21051f39-bb9f-412c-af73-f65051317757" message="#[payload]"/>
<set-payload value='#[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://decisionresearch.com/RateMaker">
<soapenv:Header/>
<soapenv:Body>
#[payload.substring(payload.indexOf("?>")+2)]
</soapenv:Body>
</soapenv:Envelope>]' doc:name="Set Payload" doc:id="faf2bc3b-e7a3-4708-910b-daeb05bb5f6e" />
</flow>
错误信息:https://github.com/Manikandan99/Map_request/blob/main/Error.txt
如何用当前的payload封装soap?
【问题讨论】:
-
@codey_08.在设置的payload中,使用“fx”代替#[payload]。
-
什么是
fx究竟是什么? -
fx 是用来直接运行dataweave表达式的,我想。
标签: mule dataweave mulesoft mule4