I am trying to write a NuSoap client that will connect to a C# server. I am getting the error "HTTP Error: cURL ERROR: 56: SSL read: error:00000000:lib(0):func(0):reason(0), errno 104". This is my code:

require_once('../lib/nusoap.php'); 

$client = new soapclient('https://www.p3pl.com/P3PLWS/WSORDER.ASMX?wsdl', true);
$soapaction = "http://p3pl.propack.com/ProcessOrder";

//order info
$newOrder = array(
'ClientShortName' => "DEMO",
'P3PLUserID' => "DEMO",
'P3PLUserPWD' => "DEMO");

$result = $client->call(
    'ProcessOrder', // method name
    array('message' => new soapval("XOrder", "XOrder", $newOrder)),
	array("soapaction"=>$soapaction)
	);

Perhaps I am formatting the request improperly? Perhaps the SSL is preventing the client from connecting to the server? Or perhaps it is working and I simply can't locate the response? Any input would be appreciated.

Here is a snippet of the "debug_str":

["debug_str"]=> string(17433) "2007-01-11 14:26:23.076318 
soapclient: instantiating wsdl class with doc: https://www.p3pl.com/P3PLWS/WSORDER.ASMX?wsdl 2007-01-11 14:26:23.076489 
wsdl: initial wsdl 
URL: https://www.p3pl.com/P3PLWS/WSORDER.ASMX?wsdl 2007-01-11 14:26:23.076554 
wsdl: getting WSDL http(s) URL https://www.p3pl.com/P3PLWS/WSORDER.ASMX?wsdl 2007-01-11 14:26:23.076665 
soap_transport_http: scheme = https 2007-01-11 14:26:23.076704
soap_transport_http: host = www.p3pl.com 2007-01-11 14:26:23.076737
soap_transport_http: path = /P3PLWS/WSORDER.ASMX 2007-01-11 14:26:23.076769
soap_transport_http: query = wsdl 2007-01-11 14:26:23.076813
soap_transport_http: set Host: www.p3pl.com 2007-01-11 14:26:23.076877
soap_transport_http: set User-Agent: NuSOAP/0.7.2 (1.94) 2007-01-11 14:26:23.076920
soap_transport_http: set Accept-Encoding: gzip, deflate 2007-01-11 14:26:23.076954
soap_transport_http: set Connection: close 2007-01-11 14:26:23.076995
soap_transport_http: entered send() with data of length: 0 2007-01-11 14:26:23.077046
soap_transport_http: connect connection_timeout 0, response_timeout 30, scheme https, host www.p3pl.com, port 443 2007-01-11 14:26:23.077086
soap_transport_http: connect using https 2007-01-11 14:26:23.077216
soap_transport_http: cURL connection set up 2007-01-11 14:26:23.077273
soap_transport_http: set Content-Length: 0 2007-01-11 14:26:23.077309
soap_transport_http: HTTP request: GET /P3PLWS/WSORDER.ASMX?wsdl HTTP/1.1 2007-01-11 14:26:23.077345
soap_transport_http: HTTP header: Host: www.p3pl.com 2007-01-11 14:26:23.077381
soap_transport_http: HTTP header: User-Agent: NuSOAP/0.7.2 (1.94) 2007-01-11 14:26:23.077416
soap_transport_http: HTTP header: Accept-Encoding: gzip, deflate 2007-01-11 14:26:23.077453
soap_transport_http: HTTP header: Connection: close 2007-01-11 14:26:23.077488
soap_transport_http: HTTP header: Content-Length: 0 2007-01-11 14:26:23.077561
soap_transport_http: set cURL payload 2007-01-11 14:26:23.077602
soap_transport_http: send and receive with cURL 2007-01-11 14:26:23.976282
soap_transport_http: No cURL error, closing cURL 2007-01-11 14:26:23.977883
soap_transport_http: found proper separation of headers and document 2007-01-11 14:26:23.977928
soap_transport_http: cleaned data, stringlen: 6547 2007-01-11 14:26:23.978080
soap_transport_http: No Content-Encoding header 2007-01-11 14:26:23.97812
soap_transport_http: end of send() 2007-01-11 14:26:23.978188

... 


soap_transport_http:
HTTP header:
SOAPAction: "http://p3pl.propack.com/ProcessOrder" 2007-01-11 14:26:23.993534
soap_transport_http:
HTTP header:
Content-Length: 591 2007-01-11 14:26:23.993605 soap_transport_http: set cURL payload 2007-01-11 14:26:23.993643 soap_transport_http: send and receive with cURL 2007-01-11 14:26:24.461738
soap_transport_http:
cURL ERROR: 56: SSL read: error:00000000:lib(0):func(0):reason(0), errno 104
url: https://www.p3pl.com:443/P3PLWS/WSORDER.ASMX?wsdl
...

    An update to my question:

    I have tried a Java client and gotten the error (SSLHandshakeException ... unable to find valid certification path to requested target) and I tried a php PEAR client and got a SSL error as well. My question is, am I doing something wrong each time or does it seem like the server is causing the problems?

    Please help!

      Write a Reply...