En RPGLE, via le *SRVPGM QAXIS10CC, je consomme facilement des services web dont le contenu est une simple Enveloppe avec un body qui contient du XML ou du JSON.
Par contre, je suis confronté à des services web dont le contenu est "Content-Type: multipart/related", avec une partie contenant une enveloppe et un body contenant un flux XML, et une autre partie contenant une image encodée.
Voici la réponse en RAW de l'appel via SOAP UI (l'image encodée n'apparait pas en fin de message, mais elle est bien là) :
Code : Tout sélectionner
HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=86DAD2E7C78F222727689EBDB8339458; Path=/ivy/; HttpOnly
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:3323db48-352f-40cf-a2e8-2ed1fb8f7150"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
Transfer-Encoding: chunked
Date: Fri, 28 Jun 2019 13:58:47 GMT
Connection: close
Server: -
--uuid:3323db48-352f-40cf-a2e8-2ed1fb8f7150
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>...</soap:Body></soap:Envelope>
--uuid:3323db48-352f-40cf-a2e8-2ed1fb8f7150
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <a33ce0a8-7516-4462-a784-3f1810218051-96@cxf.apache.org>
‰PNG
La variable dans laquelle je reçois la réponse est du caractère : est-ce que c'est le type du champ qui bloque la réception de la réponse avec l'image encodée ? Si oui, quel type de donnée dois-je utiliser ?
Sinon, comment puis-je faire pour indiquer que seule la partie XML m'intéresse, pas le 2ème boundary avec l'image ?
Merci pour vos conseils.