Мы пытаемся реализовать базовую прокси-службу SOAP-to-REST на WSO2 ESB. Наша сторонняя служба REST принимает запросы в следующем формате:
http://<MYURL>/simpleQuery/16783484?oslc.select=value1
Проблема в том, что имя операции имеет только числовой формат - в нашем случае «16783484». Медиатор payloadFactory не позволяет иметь ‹16783484> в качестве элемента XML, поскольку спецификация XML ограничивает имена элементов только числовыми.
<proxy xmlns="http://ws.apache.org/ns/synapse" name="CQProxy" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<payloadFactory>
<format>
<16783484>
<oslc.select>$1</oslc.select>
</16783484>
</format>
<args>
<arg value="myvalue1"/>
</args>
</payloadFactory>
<send>
<endpoint>
<address uri="http://<MYURL>/simpleQuery" format="get"/>
</endpoint>
</send>
<drop/>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</target>
</proxy>
Как это преодолеть?
Благодарю за помощь!