我的API接收到一个XML,该XML的字段重复多次,如下所示:
<Root>
<Element>
<Request>username=username&password=password&field3=field3&field4=field4</Request>
<Request>username=username&password=password&field3=field3&field4=field4</Request>
</Element>
</Root>
我使用IterateMediator
提取这些请求字段,并在AggregatorMediator
和SendMediator
的帮助下分别调用它们到URL。
我正在调用的API一次只能接受一行,并包含以下元数据:
HTTP method: POST
Content-Type: application/x-www-form-urlencoded
Payload: username=username&password=password&field3=field3&field4=field4
问题是,尽管我从IterateMediator
中正确提取了有效负载,但是在到达SendMediator之前,$body
的值被Soap Envelope标签包围了。我尝试使用PayloadFactoryMediator
来更改$body
的值,但是我只能将其设置为xml或json,而不能将其设置为text / plain。
您有什么主意,除了xml或json之外,我还能如何使主体变成其他东西?
答案 0 :(得分:0)
您能显示顺序吗?
“ ..但是我只能将其设置为xml或json,而不能将其设置为text / plain ..”
您尝试使用media-type =“ text”吗?
<payloadFactory media-type="text" xmlns="http://ws.apache.org/ns/synapse">
<format>$1</format>
</payloadFactory>