ID:               36104
 Updated by:       [EMAIL PROTECTED]
 Reported By:      marcin dot dabrowski at gmail dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         SOAP related
 Operating System: Windows XP [Version 5.1.2600]
 PHP Version:      5.1.2
-Assigned To:      
+Assigned To:      dmitry
 New Comment:

Assigned to the maintainer.


Previous Comments:
------------------------------------------------------------------------

[2006-01-20 15:59:12] marcin dot dabrowski at gmail dot com

Description:
------------
I'm trying to use SoapClient with certificate. When I set the cert file
path using options array I have 'Could not connect to host' error, while
setting the path as a property works like a charm.

I tried to see whats with the connection, and (using netcat: nc -vvnLp
433) I got the following results.

- with 'php test.php 1' netcat gives:
listening on [127.0.0.1] 443 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 2055
 sent 0, rcvd 0

- with 'php test.php 0' netcat gives:
listening on [127.0.0.1] 443 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 2056
[binary stuff, SSL Handshake I think]
 sent 0, rcvd 132

PS: I tried with
http://snaps.php.net/win32/php5.1-win32-200601201130.zip, same results.

Reproduce code:
---------------
<?php
$optionsInArray = (bool)$argv[1];

if ($optionsInArray) {
    $opts = array(
        'ssl' => array(
            'local_cert' => './cli_crt.pem',
            'allow_self_signed' => true
            )
        );
    $ctx = stream_context_create($opts);
    $soap = new SoapClient('a.wsdl', array(
        'stream_context'    => $ctx,
        'local_cert'        => './cli_crt.pem'
        ));
} else {
    $soap = new SoapClient('a.wsdl');
    $soap->_local_cert      = './cli_crt.pem';
}
try {
    var_export($soap->greet('Frodo'));
} catch (SoapFault $e) {
    var_export($e);
}
?>


Expected result:
----------------
Both ways this script should produce successful connection, and
actually invoke the WebService. Only the second way it works as it
should.



Actual result:
--------------
C:\usr\home\www\ws>php test.php 0
'Hello, World, and Frodo!!!'

C:\usr\home\www\ws>php test.php 1
SoapFault::__set_state(array(
   'message' => '',
   'string' => '',
   'code' => 0,
   'file' => 'C:\\usr\\home\\www\\ws\\test.php',
   'line' => 21,
   'trace' =>
  array (
    0 =>
    array (
      'function' => '__doRequest',
      'class' => 'SoapClient',
      'type' => '->',
      'args' =>
      array (
        0 => '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns1="urn:Hellowsdl" xmlns:xsd="http://w
http://www.w3.org/2001/XMLSchema-instance";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
SOAP-ENV:encodingStyl
coding/"><SOAP-ENV:Body><ns1:greet><person
xsi:type="xsd:string">Frodo</person></ns1:greet></SOAP-ENV:Body></SOAP-ENV:Envel
',
        1 => 'https://localhost/ws/index.php?realm=Hello',
        2 => 'urn:Hellowsdl#greet',
        3 => 1,
      ),
    ),
    1 =>
    array (
      'function' => '__call',
      'class' => 'SoapClient',
      'type' => '->',
      'args' =>
      array (
        0 => 'greet',
        1 =>
        array (
          0 => 'Frodo',
        ),
      ),
    ),
    2 =>
    array (
      'file' => 'C:\\usr\\home\\www\\ws\\test.php',
      'line' => 21,
      'function' => 'greet',
      'class' => 'SoapClient',
      'type' => '->',
      'args' =>
      array (
        0 => 'Frodo',
      ),
    ),
  ),
   'faultstring' => 'Could not connect to host',
   'faultcode' => 'HTTP',
))



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36104&edit=1

Reply via email to