При написании пользовательского обработчика WSO2 мои службы работают с использованием JSON.Попытка заставить обработчик прочитать данные JSON
Решение в Как извлечь данные из тела JSON запроса REST внутри обработчика синапса ESB WSO2 не работает
![enter image description here](https://i.stack.imgur.com/etGFW.png)
Код обработчика
@Override
public boolean handleRequest(MessageContext messageContext) {
System.out.println("getEnvelope - "+ messageContext.getEnvelope().getBody().toString());
org.apache.axis2.context.MessageContext mc = ((Axis2MessageContext) messageContext).getAxis2MessageContext();
JSONObject jsonBody = new JSONObject(JsonUtil.jsonPayloadToString(mc));
System.out.println("Payload in json -"+ jsonBody);
String jsonPayloadToString = JsonUtil.jsonPayloadToString(((Axis2MessageContext) messageContext).getAxis2MessageContext());
System.out.println("Payload in string -"+ jsonPayloadToString);
Вывод на консоль
getEnvelope - <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
Payload in json -{}
Payload in string -{}
Перепробовал все три комбинации в axis2.xml
<messageBuilder contentType="application/json"
class="org.apache.axis2.json.JSONOMBuilder"/>
<!--messageBuilder contentType="application/json"
class="org.apache.synapse.commons.json.JsonStreamBuilder"/-->
<!--messageBuilder contentType="application/json"
class="org.apache.synapse.commons.json.JsonBuilder"/-->
-----------------
<messageFormatter contentType="application/json"
class="org.apache.axis2.json.JSONMessageFormatter"/>
<!--messageFormatter contentType="application/json"
class="org.apache.synapse.commons.json.JsonStreamFormatter"/-->
<!--messageFormatter contentType="application/json"
class="org.apache.synapse.commons.json.JsonFormatter"/-->
Любая помощь будет очень полезна
Спасибо