Как вернуть сообщение SOAP без XSD - PullRequest
0 голосов
/ 18 октября 2018

У меня есть этот клиент soap-WS, который ожидает ответа, но мне не дадут XSD, только ожидаемый ответ XML.Я пробовал много страниц, чтобы извлечь схему из этого, но элемент multiref дает мне невозможное время.

Кроме того, они настаивают, что ответ должен иметь точные префиксы, такие как soapenv S в верхнем регистре, который я не могу контролировать со стороны службы.

Ожидаемый ответ:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
         <ns1:doChargeResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                xmlns:ns1="http://ws.srs.sm.com">
                <doChargeReturn href="#id0" />
         </ns1:doChargeResponse>
         <multiRef id="id0" soapenc:root="0"
                soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">3</multiRef>
   </soapenv:Body>

Ближайший ответЯ могу дать:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns8:doChargeResponse xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns1="http://gwsservices.ib.sdp.huawei.com" xmlns:ns4="http://request.gwsservices.ib.sdp.huawei.com" xmlns:ns3="http://schema.ib.sdp.huawei.com" xmlns:ns0="http://telecomservices.ib.sdp.huawei.com" xmlns:ns5="http://response.telecomservices.ib.sdp.huawei.com" xmlns:ns6="http://request.telecomservices.ib.sdp.huawei.com" xmlns:ns7="http://response.gwsservices.ib.sdp.huawei.com" xmlns:ns8="http://ws.srs.sm.com">
         <doChargeReturn/>
         <ns7:multiRef>2001</ns7:multiRef>
      </ns8:doChargeResponse>
   </S:Body>
</S:Envelope>

Но для них это неприемлемо.

Как я могу создать POJO, используя JAXB без XSD?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...