Служба WSO2-ESB в некоторых случаях получает «пустой» ответ XML от конечной точки.
Обычно ответ выглядит следующим образом. Он содержит несколько result
s:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:results xmlns:ns2="http://the-endpoint.com/">
<result>some result</result>
<result>some other result</result>
<result>some very different result</result>
</ns2:results>
</S:Body>
</S:Envelope>
, которые затем преобразуются в массив result
s и используются клиентами.
{"results": ["some result", ...]}
Но в некоторых редких случаях конечные точки response - это просто пустой список результатов, который JAX-WS явно переводит в пустой тег <ns2:results/>
.
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:results xmlns:ns2="http://the-endpoint.com/"/>
</S:Body>
</S:Envelope>
WSO2-ESB затем преобразует его в объект null
, что вызывает проблемы .
{"results": null}
Теперь, как я могу заставить веб-сервис WSO2-ESB возвращать пустой список как {"results": []}
в случае пустого ответа?