Я новичок в Apache Synapse.Мне нужно сделать основанную на контенте маршрутизацию и проксирование службы SOAP.Однако фактическим запросом является документ XML внутри тега CDATA в теле запроса SOAP.После маршрутизации на основе содержимого этого документа мне нужно использовать посредник XQuery для преобразования документа и вызова прокси-службы.Я не могу изменить WSDL этого запроса.Можно ли выполнять маршрутизацию и преобразование документа, который находится внутри тегов CDATA?Когда я регистрирую запрос из Synapse, я вижу, что XML внутри CDATA был экранирован.Я видел несколько постов, описывающих сохранение CDATA, но я не уверен, что я мог бы сделать с ним в любом случае.
Запрос выглядит примерно так:Мне нужно направить сообщение на основе атрибута TypeOfRequest
:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:svc="http://integration.myservice.com">
<soapenv:Header/>
<soapenv:Body>
<svc:Execute>
<svc:myservice>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<myservice xmlns="http://integration.myservice.com">
<Request TypeOfRequest="type1" RequestID="1" Echo="false">
<Message>
<Tag1510>
<TypeCode>10</TypeCode>
<SubTypeCode>00</SubTypeCode>
</Tag1510>
<Tag2000>
<Amount>
<Amount>1.00</Amount>
</Amount>
</Tag2000>
</Message>
</Request>
</myservice>
]]>
</svc:myservice>
</svc:Execute>
</soapenv:Body>
</soapenv:Envelope>