Page 1 sur 1
Consommer un service web multipart en RPGLE
Posté : ven. 28 juin 2019, 16:03:20
par thomas.barberot
Bonjour.
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
Lorsque je consomme ce type de service, toute la préparation de la conversation HTTP se déroule bien jusqu'au "axiscTransportFlush", puis lorsque je fais le "axiscTransportReceive", le programme boucle un petit moment (de 30 secondes à 1 minute) pour finalement me renvoyer un retour -1 et m'indiquer une erreur lors de la réception des données (bien-entendu, via SOAP UI, pas de problème, le service fonctionne bien).
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.
(sans sujet)
Posté : ven. 28 juin 2019, 16:35:27
par nbonnet
Bonjour Thomas,
Peux-tu nous transmettre la log Axis ?
(sans sujet)
Posté : lun. 01 juil. 2019, 16:34:10
par thomas.barberot
Bonjour Nath.
Désolé, ce sera dans le post, car pas possible de joindre un fichier.
J'ai simplifié la log, car l'erreur est écrite plusieurs milliers de fois.
Code : Tout sélectionner
************ Start Display Current Environment ************
Axis C++ libraries built on Aug 31 2018 at 17:06:10
LANG=/qsys.lib/fr_fr.locale
************* End Display Current Environment *************
-------------- Config File settings START ----------------
AXCONF_CLIENTLOGPATH=
AXCONF_CLIENTWSDDFILEPATH=
AXCONF_AXISHOME=/QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT
AXCONF_TRANSPORTHTTP=/QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBHTTP_TRANSPORT.SO
AXCONF_XMLPARSER=/QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBAXIS_XMLPARSER.SO
AXCONF_CHANNEL_HTTP=/QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBHTTP_CHANNEL.SO
AXCONF_SECUREINFO=
AXCONF_LOGFILTER=
-------------- Config File settings END OF ----------------
01/07/2019 17:14:27:989 00005681 engine > initialize_module():
01/07/2019 17:14:27:990 00005681 engine > SessionScopeHandlerPool::SessionScopeHandlerPool():
01/07/2019 17:14:27:990 00005681 engine < SessionScopeHandlerPool::SessionScopeHandlerPool():
01/07/2019 17:14:27:990 00005681 engine > SerializerPool::SerializerPool():
01/07/2019 17:14:27:990 00005681 engine < SerializerPool::SerializerPool():
01/07/2019 17:14:27:990 00005681 engine > WSDDDeployment::WSDDDeployment():
01/07/2019 17:14:27:991 00005681 engine < WSDDDeployment::WSDDDeployment():
01/07/2019 17:14:27:991 00005681 engine > XMLParserFactory::initialize():
01/07/2019 17:14:27:991 00005681 engine > XMLParserFactory::loadLib():
01/07/2019 17:14:27:991 00005681 engine D XMLParserFactory::loadLib(): Loading parser /QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBAXIS_XMLPARSER.SO
01/07/2019 17:14:27:991 00005681 engine < XMLParserFactory::loadLib(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:991 00005681 engine < XMLParserFactory::initialize(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:991 00005681 engine > SOAPTransportFactory::initialize():
01/07/2019 17:14:27:992 00005681 engine > SOAPTransportFactory::loadLib():
01/07/2019 17:14:27:992 00005681 engine D SOAPTransportFactory::loadLib(): Loading transport /QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBHTTP_TRANSPORT.SO
01/07/2019 17:14:27:992 00005681 engine < SOAPTransportFactory::loadLib(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:992 00005681 engine < SOAPTransportFactory::initialize(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:992 00005681 engine < initialize_module(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:992 00005681 engine > axiscTransportCreate():
01/07/2019 17:14:27:992 00005681 engine > SOAPTransportFactory::getTransportObject():
01/07/2019 17:14:27:993 00005681 engine < SOAPTransportFactory::getTransportObject(): Exit with object pointer SPP:0000 :0000 :0:0:14
01/07/2019 17:14:27:993 00005681 transport > HTTPTransport::setEndpointUri():
01/07/2019 17:14:27:993 00005681 transport D HTTPTransport::setEndpointUri(): Endpoint is http://rececmged-v1203:8510/ivy/ws/xivyecm4/xecm_ivy/12EDD9EC735B1794
01/07/2019 17:14:27:993 00005681 transport < HTTPTransport::setEndpointUri():
01/07/2019 17:14:27:993 00005681 transport > HTTPTransport::setHTTPMethod():
01/07/2019 17:14:27:993 00005681 transport D HTTPTransport::setHTTPMethod(): HTTP method is GET
01/07/2019 17:14:27:993 00005681 transport < HTTPTransport::setHTTPMethod():
01/07/2019 17:14:27:993 00005681 transport > HTTPTransport::setTransportProperty():
01/07/2019 17:14:27:993 00005681 transport < HTTPTransport::setTransportProperty(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:994 00005681 engine < axiscTransportCreate():
01/07/2019 17:14:27:994 00005681 engine > axiscTransportSetProperty():
01/07/2019 17:14:27:994 00005681 transport > HTTPTransport::setHTTPMethod():
01/07/2019 17:14:27:994 00005681 transport D HTTPTransport::setHTTPMethod(): HTTP method is POST
01/07/2019 17:14:27:994 00005681 transport < HTTPTransport::setHTTPMethod():
01/07/2019 17:14:27:995 00005681 engine < axiscTransportSetProperty():
01/07/2019 17:14:27:995 00005681 engine > axiscTransportSetProperty():
01/07/2019 17:14:27:996 00005681 transport > HTTPTransport::setTransportProperty():
01/07/2019 17:14:27:996 00005681 transport D HTTPTransport::setTransportProperty(): Transport property to set: accept=application/xml; charset=utf-8 (replace=true)
01/07/2019 17:14:27:996 00005681 transport < HTTPTransport::setTransportProperty(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:27:996 00005681 engine < axiscTransportSetProperty():
01/07/2019 17:14:28:287 00005681 engine > axiscTransportSetProperty():
01/07/2019 17:14:28:287 00005681 transport > HTTPTransport::setTransportProperty():
01/07/2019 17:14:28:288 00005681 transport D HTTPTransport::setTransportProperty(): Transport property to set: content-type=application/xml; charset=utf-8 (replace=true)
01/07/2019 17:14:28:288 00005681 transport < HTTPTransport::setTransportProperty(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:28:288 00005681 engine < axiscTransportSetProperty():
01/07/2019 17:14:28:313 00005681 engine > axiscTransportSend():
01/07/2019 17:14:28:313 00005681 transport > HTTPTransport::sendBytes():
01/07/2019 17:14:28:314 00005681 transport < HTTPTransport::sendBytes():
01/07/2019 17:14:28:314 00005681 engine < axiscTransportSend():
01/07/2019 17:14:28:314 00005681 engine > axiscTransportSetProperty():
01/07/2019 17:14:28:314 00005681 transport > HTTPTransport::setConnectTimeout():
01/07/2019 17:14:28:315 00005681 transport D HTTPTransport::setConnectTimeout(): Connect timeout: 30
01/07/2019 17:14:28:315 00005681 transport < HTTPTransport::setConnectTimeout():
01/07/2019 17:14:28:315 00005681 engine < axiscTransportSetProperty():
01/07/2019 17:14:28:315 00005681 engine > axiscTransportFlush():
01/07/2019 17:14:28:315 00005681 transport > HTTPTransport::openConnection():
01/07/2019 17:14:28:315 00005681 transport > HTTPTransport::closeConnection():
01/07/2019 17:14:28:315 00005681 transport > HTTPTransport::resetInputStateMachine():
01/07/2019 17:14:28:315 00005681 transport < HTTPTransport::resetInputStateMachine():
01/07/2019 17:14:28:315 00005681 transport > TCPChannel::close():
01/07/2019 17:14:28:316 00005681 transport < TCPChannel::close():
01/07/2019 17:14:28:316 00005681 transport < HTTPTransport::closeConnection():
01/07/2019 17:14:28:316 00005681 transport > TCPChannel::open():
01/07/2019 17:14:28:316 00005681 transport D TCPChannel::open(): Connecting to: rececmged-v1203:8510
01/07/2019 17:14:28:316 00005681 transport > TCPChannel::applyTimeout():
01/07/2019 17:14:28:317 00005681 transport < TCPChannel::applyTimeout(): Exit with integer value of 1
01/07/2019 17:14:28:317 00005681 transport < TCPChannel::open():
01/07/2019 17:14:28:317 00005681 transport < HTTPTransport::openConnection(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:28:317 00005681 transport > HTTPTransport::flushOutput():
01/07/2019 17:14:28:317 00005681 transport > HTTPTransport::generateHTTPHeaders():
01/07/2019 17:14:28:317 00005681 transport > HTTPTransport::setTransportProperty():
01/07/2019 17:14:28:317 00005681 transport D HTTPTransport::setTransportProperty(): Transport property to set: Content-Length=992 (replace=true)
01/07/2019 17:14:28:317 00005681 transport < HTTPTransport::setTransportProperty(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:28:317 00005681 transport > HTTPTransport::setTransportProperty():
01/07/2019 17:14:28:317 00005681 transport D HTTPTransport::setTransportProperty(): Transport property to set: Content-Type=text/xml; charset=UTF-8 (replace=false)
01/07/2019 17:14:28:318 00005681 transport < HTTPTransport::setTransportProperty(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:14:28:318 00005681 transport < HTTPTransport::generateHTTPHeaders():
01/07/2019 17:14:28:318 00005681 transport > TCPChannel::writeBytes():
01/07/2019 17:14:28:318 00005681 transport D TCPChannel::writeBytes(): Using non-SSL output stream.
01/07/2019 17:14:28:318 00005681 transport D TCPChannel::writeBytes():
POST /ivy/ws/xivyecm4/xecm_ivy/12EDD9EC735B1794 HTTP/1.1
Host: rececmged-v1203:8510
accept: application/xml; charset=utf-8
content-type: application/xml; charset=utf-8
Content-Length: 992
01/07/2019 17:14:28:318 00005681 transport < TCPChannel::writeBytes(): Exit with integer value of 195
01/07/2019 17:14:28:318 00005681 transport > TCPChannel::writeBytes():
01/07/2019 17:14:28:318 00005681 transport D TCPChannel::writeBytes(): Using non-SSL output stream.
01/07/2019 17:14:28:318 00005681 transport D TCPChannel::writeBytes():
<soapenv:Envelope xmlns:ser="http://service.xecm.xpertline.ch/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:UsernameToken wsu:Id="UsernameToken-FF6C30049EBA1A2FBE0F0004AC1BA426"><wsse:Username>***</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">***</wsse:Password></wsse:UsernameToken></wsse:Security></soapenv:Header><soapenv:Body><ser:readSummaryById> <deiDocumentSearchById> <id>GLSAC34P.PDF</id> </deiDocumentSearchById><serviceContextEI><environmentName>Default</environmentName><regionalSettings>fr_FR</regionalSettings><userId>BARBEROT</userId></serviceContextEI></ser:readSummaryById></soapenv:Body></soapenv:Envelope>
01/07/2019 17:14:28:318 00005681 transport < TCPChannel::writeBytes(): Exit with integer value of 992
01/07/2019 17:14:28:319 00005681 transport > HTTPTransport::resetOutputStateMachine():
01/07/2019 17:14:28:319 00005681 transport < HTTPTransport::resetOutputStateMachine():
01/07/2019 17:14:28:319 00005681 transport < HTTPTransport::flushOutput():
01/07/2019 17:14:28:319 00005681 engine < axiscTransportFlush():
01/07/2019 17:14:40:705 00005681 engine > axiscTransportReceive():
01/07/2019 17:14:40:745 00005681 engine D axiscTransportReceive(): user buffer length is 2097152
01/07/2019 17:14:40:746 00005681 engine D axiscTransportReceive(): reading transport data
01/07/2019 17:14:40:748 00005681 transport > HTTPTransport::getBytes():
01/07/2019 17:14:40:750 00005681 transport D HTTPTransport::getBytes(): number of bytes to read is 65536
01/07/2019 17:14:40:750 00005681 transport D HTTPTransport::getBytes(): GetBytesState: eWaitingForHTTPHeader
01/07/2019 17:14:40:750 00005681 transport D HTTPTransport::getBytes(): No data to read, so read HTTP header
01/07/2019 17:14:40:750 00005681 transport > HTTPTransport::readHTTPHeader():
01/07/2019 17:14:40:751 00005681 transport > HTTPTransport::resetInputStateMachine():
01/07/2019 17:14:40:751 00005681 transport < HTTPTransport::resetInputStateMachine():
01/07/2019 17:14:40:752 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:14:40:752 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:14:40:754 00005681 transport D TCPChannel::readBytes():
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=B761C9DB7C0F9D36CD6F5B7475CF4283; Path=/ivy/; HttpOnly
Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:a82ea1da-235a-438d-a4fa-22e0c7f75361"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
Transfer-Encoding: chunked
Date: Mon, 01 Jul 2019 15:14:28 GMT
Server: -
2000
--uuid:a82ea1da-235a-438d-a4fa-22e0c7f75361
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><ns2:readSummaryByIdResponse xmlns:ns2="http://service.xecm.xpertline.ch/"><result><deiDocumentExtendedSummary><departmentDescription>Prest_Conf_Autre</departmentDescription><documentSummary><creationDateTime>2019-05-24T05:00:00+02:00</creationDateTime><creationUser>***</creationUser><departmentId>A01</departmentId><description>PR-Décomptes Factures - Autre</description><documentNumber>0</documentNumber><editorId>PDF</editorId><expiryDate><day>1</day><month>1</month><year>1</year></expiryDate><externalProcessingStatus>NORMAL</externalProcessingStatus><file>\\NAS-0301\XPERTLINEFILDEV\XECM\013\DOCUMENTS\COLL\COLL.840\GLSAC34P.PDF</file><fingerPrint><type>MD5</type><value></value></fingerPrint><isArchived>false</isArchived><modificationDateTime>2019-05-24T13:16:01+02:00</modificationDateTime><modificationUser>***</modificationUser><numberOfPages>1</numberOfPages><referencingStatus>C</referencingStatus><storageClassId>COLL</storageClassId><typeId>PRE001P1</typeId></documentSummary><documentTypeDescription>Décompte/Facture de prestation</documentTypeDescription><editorDescription>PDF</editorDescription><firstPageOverview><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:57cbf066-cd16-4517-9695-c750f53825c0-64@cxf.apache.org"/></firstPageOverview><hasComments>false</hasComments><hasLinkedDocuments>false</hasLinkedDocuments><hasVersions>false</hasVersions><hasVisas>false</hasVisas><id>GLSAC34P.PDF</id><isConfidentialUserRestricted>false</isConfidentialUserRestricted></deiDocumentExtendedSummary><wsResultStatus><code></code><detail></detail><javaException></javaException><message></message><successful>true</successful></wsResultStatus></result></ns2:readSummaryByIdResponse></soap:Body></soap:Envelope>
--uuid:a82ea1da-235a-438d-a4fa-22e0c7f75361
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <57cbf066-cd16-4517-9695-c750f53825c0-64@cxf.apache.org>
‰PNG
01/07/2019 17:14:40:756 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 13952
01/07/2019 17:14:40:756 00005681 transport > HTTPTransport::processHTTPHeader():
01/07/2019 17:14:40:756 00005681 transport < HTTPTransport::processHTTPHeader():
01/07/2019 17:14:40:757 00005681 transport < HTTPTransport::readHTTPHeader():
01/07/2019 17:14:40:757 00005681 transport > HTTPTransport::getBytes_MessageIsChunked():
01/07/2019 17:14:40:757 00005681 transport D HTTPTransport::getBytes_MessageIsChunked(): reading next chunk
01/07/2019 17:14:40:757 00005681 transport > HTTPTransport::getChunkSize():
01/07/2019 17:14:40:758 00005681 transport D HTTPTransport::getChunkSize(): chunk size is: 8192
01/07/2019 17:14:40:758 00005681 transport < HTTPTransport::getChunkSize(): Exit with integer value of 8192
01/07/2019 17:14:40:758 00005681 transport D HTTPTransport::getBytes_MessageIsChunked(): Bytes available to be consumed within chunk: 8192
01/07/2019 17:14:40:758 00005681 transport > HTTPTransport::getNextDataPacket():
01/07/2019 17:14:40:759 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:14:40:759 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:14:40:759 00005681 transport D TCPChannel::readBytes():
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@¼³ý䣿}þէo;ÿퟟ�ú«¯_½zù¦£󑓇¯^½‚›{û{セŸޏŽ•Iû4;:_ýz疟ЀȨ賶¶ޞާO///õöö䳹흔"뒚ƿK++˫˫0©͍m¸\®h$?¼'#Ňӭø§ZҎOe}ӴŽNù庳gO<ºÿõ7_Á°ûŗ_\¿~㡣ǰ€¿ù›¿…¡ÿӿý㭛·
01/07/2019 17:14:40:761 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 14400
01/07/2019 17:14:40:762 00005681 transport D HTTPTransport::getNextDataPacket(): Number of bytes read: 14400
01/07/2019 17:14:40:762 00005681 transport D HTTPTransport::getNextDataPacket(): Total number of bytes in transport object: 2425
01/07/2019 17:14:40:762 00005681 transport < HTTPTransport::getNextDataPacket(): Exit with integer value of 14400
01/07/2019 17:14:40:763 00005681 transport > HTTPTransport::getNextDataPacket():
01/07/2019 17:14:40:763 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:14:40:763 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:14:40:764 00005681 transport D TCPChannel::readBytes():
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@£DϪI6kª̭’o§򗴫¥²»¶榴爷bۤPc
Ž‹Y…̃”r1€ͪþšŠ顺
…jڋ>¸�v?(\f"ҭʼn¼¥l퉜2ªtpIT$_mƳ8B
01/07/2019 17:14:40:764 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 1634
01/07/2019 17:14:40:764 00005681 transport D HTTPTransport::getNextDataPacket(): Number of bytes read: 1634
01/07/2019 17:14:40:765 00005681 transport D HTTPTransport::getNextDataPacket(): Total number of bytes in transport object: 2524
01/07/2019 17:14:40:765 00005681 transport < HTTPTransport::getNextDataPacket(): Exit with integer value of 1634
01/07/2019 17:14:40:765 00005681 transport > HTTPTransport::getNextDataPacket():
01/07/2019 17:14:40:765 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:14:40:766 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:15:28:505 00005681 transport D TCPChannel::readBytes(): Read-side of socket has been closed.
01/07/2019 17:15:28:506 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 0
01/07/2019 17:15:28:506 00005681 transport < HTTPTransport::getNextDataPacket(): Exit with integer value of 0
01/07/2019 17:15:28:506 00005681 transport > HTTPTransport::getNextDataPacket():
--> Répété plusieurs milliers de fois (478000 lignes !) :
01/07/2019 17:15:28:506 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:15:28:507 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:15:28:507 00005681 transport D TCPChannel::readBytes(): Read-side of socket has been closed.
01/07/2019 17:15:28:507 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 0
01/07/2019 17:15:28:507 00005681 transport < HTTPTransport::getNextDataPacket(): Exit with integer value of 0
01/07/2019 17:15:28:508 00005681 transport > HTTPTransport::getNextDataPacket():
--> Fin des lignes répétées
01/07/2019 17:17:28:512 00005681 transport > HTTPTransport::getNextDataPacket():
01/07/2019 17:17:28:513 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:17:28:513 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:17:28:513 00005681 transport D TCPChannel::readBytes(): Read-side of socket has been closed.
01/07/2019 17:17:28:513 00005681 transport < TCPChannel::readBytes(): Exit with integer value of 0
01/07/2019 17:17:28:514 00005681 transport < HTTPTransport::getNextDataPacket(): Exit with integer value of 0
01/07/2019 17:17:28:514 00005681 transport > HTTPTransport::getNextDataPacket():
01/07/2019 17:17:28:514 00005681 transport > TCPChannel::readBytes():
01/07/2019 17:17:28:515 00005681 transport D TCPChannel::readBytes(): Using non-SSL input stream.
01/07/2019 17:17:28:517 00005681 transport > TCPChannel::close():
01/07/2019 17:17:28:518 00005681 transport < TCPChannel::close():
01/07/2019 17:17:28:518 00005681 transport X TCPChannel::readBytes(): Line=444: File=/build/axiscpp/src/ws-axis/c/src/transport/TCPChannel/TCPChannel.cpp:
HTTPTransportException - SERVER_TRANSPORT_INPUT_STREAMING_ERROR: Error is 3426 - A connection with a remote socket was reset by that socket.
01/07/2019 17:17:28:518 00005681 transport < TCPChannel::readBytes():
01/07/2019 17:17:28:521 00005681 engine < axiscTransportReceive():
01/07/2019 17:20:16:986 00005681 engine > axiscTransportGetLastErrorCode():
01/07/2019 17:20:16:987 00005681 engine < axiscTransportGetLastErrorCode():
01/07/2019 17:20:16:987 00005681 engine > axiscTransportGetLastError():
01/07/2019 17:20:16:987 00005681 engine < axiscTransportGetLastError():
01/07/2019 17:20:16:988 00005681 engine > axiscTransportDestroy():
01/07/2019 17:20:16:988 00005681 transport > HTTPTransport::¨HTTPTransport():
01/07/2019 17:20:16:988 00005681 engine > ChannelFactory::UnLoadChannelLibrary():
01/07/2019 17:20:16:988 00005681 transport > TCPChannel::¨TCPChannel():
01/07/2019 17:20:16:988 00005681 transport > TCPChannel::close():
01/07/2019 17:20:16:988 00005681 transport < TCPChannel::close():
01/07/2019 17:20:16:988 00005681 transport < TCPChannel::¨TCPChannel():
01/07/2019 17:20:16:988 00005681 engine < ChannelFactory::UnLoadChannelLibrary(): Exit with boolean false
01/07/2019 17:20:16:989 00005681 transport < HTTPTransport::¨HTTPTransport():
01/07/2019 17:20:16:989 00005681 engine > uninitialize_module():
01/07/2019 17:20:16:989 00005681 engine > SOAPTransportFactory::uninitialize():
01/07/2019 17:20:16:989 00005681 engine > ChannelFactory::unloadChannels():
01/07/2019 17:20:16:989 00005681 engine < ChannelFactory::unloadChannels():
01/07/2019 17:20:16:989 00005681 engine > SOAPTransportFactory::unloadLib():
01/07/2019 17:20:16:989 00005681 engine D SOAPTransportFactory::unloadLib(): Unloading transport /QIBM/PRODDATA/OS/WEBSERVICES/V1/CLIENT/LIB/LIBHTTP_TRANSPORT.SO
01/07/2019 17:20:16:990 00005681 engine < SOAPTransportFactory::unloadLib(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:20:16:990 00005681 engine < SOAPTransportFactory::uninitialize(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:20:16:990 00005681 engine > AppScopeHandlerPool::¨AppScopeHandlerPool():
01/07/2019 17:20:16:990 00005681 engine < AppScopeHandlerPool::¨AppScopeHandlerPool():
01/07/2019 17:20:16:990 00005681 engine > RequestScopeHandlerPool::¨RequestScopeHandlerPool():
01/07/2019 17:20:16:990 00005681 engine < RequestScopeHandlerPool::¨RequestScopeHandlerPool():
01/07/2019 17:20:16:990 00005681 engine > SessionScopeHandlerPool::¨SessionScopeHandlerPool():
01/07/2019 17:20:16:991 00005681 engine < SessionScopeHandlerPool::¨SessionScopeHandlerPool():
01/07/2019 17:20:16:991 00005681 engine > DeserializerPool::¨DeserializerPool():
01/07/2019 17:20:16:991 00005681 engine < DeserializerPool::¨DeserializerPool():
01/07/2019 17:20:16:991 00005681 engine > SerializerPool::¨SerializerPool():
01/07/2019 17:20:16:991 00005681 engine < SerializerPool::¨SerializerPool():
01/07/2019 17:20:16:991 00005681 engine > HandlerPool::¨HandlerPool():
01/07/2019 17:20:16:991 00005681 engine < HandlerPool::¨HandlerPool():
01/07/2019 17:20:16:991 00005681 engine > HandlerLoader::¨HandlerLoader():
01/07/2019 17:20:16:992 00005681 engine < HandlerLoader::¨HandlerLoader():
01/07/2019 17:20:16:992 00005681 engine > WSDDDeployment::¨WSDDDeployment():
01/07/2019 17:20:16:992 00005681 engine < WSDDDeployment::¨WSDDDeployment():
01/07/2019 17:20:16:992 00005681 engine > XMLParserFactory::uninitialize():
01/07/2019 17:20:16:992 00005681 engine > XMLParserFactory::unloadLib():
01/07/2019 17:20:16:992 00005681 engine D XMLParserFactory::unloadLib(): Unloading parser
01/07/2019 17:20:16:992 00005681 engine < XMLParserFactory::unloadLib(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:20:16:992 00005681 engine < XMLParserFactory::uninitialize(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:20:16:993 00005681 engine < uninitialize_module(): Exit with return code of AXIS_SUCCESS
01/07/2019 17:20:16:993 00005681 engine < axiscTransportDestroy():
Si besoin, je peux te les envoyer en MP.
MErci.
(sans sujet)
Posté : mar. 02 juil. 2019, 07:57:53
par nbonnet
Quel est le temps de réponse avec SOAP UI ?
(sans sujet)
Posté : mar. 02 juil. 2019, 09:51:55
par thomas.barberot
1er appel, 2,8 secondes, 2ème appel, 108 ms
(sans sujet)
Posté : mer. 03 juil. 2019, 08:31:21
par nbonnet
Salut,
peux-tu m'envoyer :
- source du pgm
- log axis
- log http de SOAP UI
L'image est transmise en binaire ? Axis converti tout en UTF-8, potentiellement le soucis
Merci
PS : bonne fête
(sans sujet)
Posté : jeu. 04 juil. 2019, 10:35:51
par thomas.barberot
Salut Nath.
C'est un peu compliqué de te fournir les sources : 3 *SRVPGM et quelques dizaines de *MODULE (et oui, c'est très modulaire...).
J'ai pour l'instant fait 2 tests :
- Mettre la propriété du header AXISC_PROPERTY_CONVERT_PAYLOAD_RESPONSE à false : résultat identique
Mettre la propriété du header AXISC_PROPERTY_CONVERT_PAYLOAD à false : j'obtiens un HTTP 500, car le serveur ne sait pas parser la réponse.
Je vais essayer de générer un header le plus proche possible de celui de SOAP ui.