Edit report at https://bugs.php.net/bug.php?id=64140&edit=1
ID: 64140
Comment by: marek dot raida at lmc dot eu
Reported by: marek dot raida at lmc dot eu
Summary: SOAPClient returns null without any bug or exception
thrown
Status: Open
Type: Bug
Package: SOAP related
Operating System: Linux, Windows
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Thx for your help, I'm also enclosing captured output of given script run in
our environment.
http://svg.kvalitne.cz/mix/soap/real-script-output.txt
Previous Comments:
------------------------------------------------------------------------
[2013-02-04 13:06:49] marek dot raida at lmc dot eu
Description:
------------
We're calling our internal company service using Soap client. There is WSDL
including XSD file and PHP client is able to call method properly and is also
getting back proper response and headers, but there is NULL as a result,
always, and after couple of hours we still do not have any clue why... Tested
on different version of PHP 5.1 - 5.5 alpha, always the same results. Java/Ruby
clients behave correctly.
I'm including test script below, which is however depending on WSDL + XSD files
and response from internal server.
However, we captured real response and are putting those WSDL publicly with
faked real response file, for you to easily try it for yourselves.
http://svg.kvalitne.cz/mix/soap/gis.wsdl
http://svg.kvalitne.cz/mix/soap/gis.xsd
http://svg.kvalitne.cz/mix/soap/response.xml (recorded and stubbed in-place
response from real server)
Test script:
---------------
<?php
$wsdl = "http://svg.kvalitne.cz/mix/soap/gis.wsdl";
$client = new SoapClient($wsdl, array('trace' => 1, 'exceptions' => true,
'cache_wsdl' => WSDL_CACHE_NONE));
$params = array('acContext' => array('countryIds' => 56, 'language' => 19),
'searchString' => "Josefská 505/10, Brno, Brno-mÄsto");
try {
var_dump($client->__soapCall('getAddressOptions', array('parameters' =>
$params)));
} catch (Exception $e) {
var_dump($e);
}
echo "\nLast Request: " . $client->__getLastRequest()."\n";
echo "Last Request Headers: " . $client->__getLastRequestHeaders()."\n\n";
echo "Last Response: " . $client->__getLastResponse()."\n";
echo "Last Response Headers: " . $client->__getLastResponseHeaders()."\n";
Expected result:
----------------
have $result, object with parsed response from server
Actual result:
--------------
we are getting NULL but do not know why
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64140&edit=1