Я разрабатываю посреднический поток в WSO2 Integration Studio. Конечная точка indbound - это api rest, конечные точки - мыльный веб-сервис.
Клиент запрашивает список медицинских специальностей. Внутренний сервис отвечает этим списком в ответе SOAP. Простое преобразование ответа SOAP в JSON с помощью посредника свойства не вариант, так как клиент ожидает определенного формата JSON.
Я пробовал посредник сценария без какого-либо успеха. Более того, я прочитал, что посредник сценариев должен использоваться только в качестве решения для последней возможности.
Какова наилучшая практика для выполнения этого вида работы? (преобразовать soap в json со сбором данных в нем)
SOAP Response выглядит примерно так:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetSpecialtiesResponse xmlns="http://tempuri.org/">
<GetSpecialtiesResult xmlns:a="http://schemas.datacontract.org/2004/07/WsAgenda.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Specialty>
<a:code>cardiology</a:code>
<a:name>Cardiologie</a:name>
</a:Specialty>
<a:Specialty>
<a:code>neurology</a:code>
<a:name>Neurologie</a:name>
</a:Specialty>
</GetSpecialtiesResult>
</GetSpecialtiesResponse>
</s:Body>
</s:Envelope>
Специальный необходимый формат ответа REST выглядит примерно так:
{
"specialities": [
{
"id": "cardiology",
"name": "Cardiologie"
},
{
"id": "neurology",
"name": "Neurologie"
}
]
}