Мой API получает 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
Я извлекаю эти поля запроса и делаю отдельные вызовы с каждымиз них по URL-адресу, с помощью AggregatorMediator
и SendMediator
.
API, который я вызываю, будет принимать только одну строку одновременно со следующими метаданными:
HTTP method: POST
Content-Type: application/x-www-form-urlencoded
Payload: username=username&password=password&field3=field3&field4=field4
Проблема в том, что, хотя я правильно извлекаю полезную нагрузку из IterateMediator
, значение $body
до достижения SendMediator окружено тегами Soap Envelope.Я пытался использовать PayloadFactoryMediator
для изменения значения $body
, но я могу сделать это только xml или json, а не text / plain.
У вас есть идеи, как мне сделатьтело что-то еще, кроме XML или JSON?