[SOLVED] U97 SOAP call-out to https site got error
Author: marco.aquino@dedalus.eu (Marco)
Hi, when we migrated our customer from U9401R126 to U9703G308 we got an error in SOAP call-out when try to invoke a webservice on https site. I think that the signature is the same from U94 and U97 because we migrate the repository and build a new urr from idf with /urr command line switch. In asn we use driver SOP U2.0 and the webservice is configured like this:
[SERVICES_EXEC] GAC_ARTICOLI $SOP:GAC_ARTICOLI euser=domain\\user epass=password scheme=L ign=HP
$status and $procerror are -150 and the error in the error context variable on debug is:
| ERROR | -150 |
| MNEM | |
| DESCRIPTION | Activation error occurred |
| COMPONENT | XSTTF10 |
| PROCNAME | LF_ARTICOLILISTA |
| TRIGGER | OPER |
| LINE | 19 |
| ADDITIONAL | |
| INSTANCENAME | GAC_ARTICOLI |
| DRV | SOP |
| LOCATION | INVOCATION |
| CODE | TRANSPORT |
| MESSAGE | HTTP transport error |
| DETAIL | Request::handleRequest HTTPTransportException:HTTP transport error - The requested URL https://xxxxxxxx returned error: The requested URL returned error: 411 Length Required |
Because the webservice is available only on customer network, I create locally in my network a SOAPUI mockservice from wsdl to view a soap evelope from a uniface call to find where is the difference from U94 and U97.
U94 SOAP envelope
true 2017-06-01T18:07:00.00+02:00 2017-06-05T11:34:00.00+02:00
U94 HTTP header
Content-Length |
728 |
Accept-Encoding |
identity |
SOAPAction |
"http://AvenStacWs.org/ArticoliInteresseAziendaliList" |
User-Agent |
CURLTransport/1.0 |
Accept |
*/* |
Content-Type |
text/xml;charset=UTF-8 |
U97 SOAP envelope
true 2017-06-01T18:07:00.00+02:00 2017-06-05T11:35:00.00+02:00
U97 HTTP header
Host |
nb-019096:38080 |
Content-Length |
727 |
Accept-Encoding |
identity |
SOAPAction |
"http://AvenStacWs.org/ArticoliInteresseAziendaliList" |
User-Agent |
CURLTransport/1.1 |
Accept |
*/* |
Content-Type |
text/xml;charset=UTF-8 |
First, I saw that the envelope was different, so I created a callback service to reproduce the same envelope, but I got error again. Second, I saw that the User-agent identified a different cURL transport, so I decided to try replace the libcurl.dll in bin folder with U94 old version. This is not recommended but now the SOAP call-out work fine like before migration. Maybe the problem is on cURL dll version, is it possibile to configure the SOAP call-out to use CURL transport/1.0? Or the problem is inside a dll ? Enviroment: Platform: W2008R2 Uniface: U97G308 DBRMS: Oracle 11g Thanks Marco




