diff options
author | Dmitry Stogov <dmitry@php.net> | 2006-11-06 16:36:43 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2006-11-06 16:36:43 +0000 |
commit | 7b8f30adcbbfe39ac44514415d82af91dcbaa98c (patch) | |
tree | d452c5448462f91abb0f23767c943dad39dc1210 /ext/soap/tests | |
parent | c2639290023649e6a2678b853edd2917768480b5 (diff) | |
download | php-git-7b8f30adcbbfe39ac44514415d82af91dcbaa98c.tar.gz |
Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client)
Diffstat (limited to 'ext/soap/tests')
-rwxr-xr-x | ext/soap/tests/bugs/bug39121.phpt | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/ext/soap/tests/bugs/bug39121.phpt b/ext/soap/tests/bugs/bug39121.phpt new file mode 100755 index 0000000000..5b3ccbc764 --- /dev/null +++ b/ext/soap/tests/bugs/bug39121.phpt @@ -0,0 +1,73 @@ +--TEST-- +Bug #39121 (Incorrect return array handling in non-wsdl soap client) +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--INI-- +soap.wsdl_cache_enabled=0 +--FILE-- +<?php +class LocalSoapClient extends SoapClient { + function __doRequest($request, $location, $action, $version) { + return <<<EOF +<?xml version="1.0" encoding="UTF-8"?> +<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> + <soap:Body> + <getDIDAreaResponse xmlns="http://didx.org/GetList"> + <soapenc:Array soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array"> + <item xsi:type="xsd:string">StateCode</item> + <item xsi:type="xsd:string">description</item> + </soapenc:Array> + <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array"> + <item xsi:type="xsd:int">241</item> + <item xsi:type="xsd:string">Carabobo</item> + </soapenc:Array> + <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array"> + <item xsi:type="xsd:int">243</item> + <item xsi:type="xsd:string">Aragua and Carabobo</item> + </soapenc:Array> + <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array"> + <item xsi:type="xsd:int">261</item> + <item xsi:type="xsd:string">Zulia</item> + </soapenc:Array> + </getDIDAreaResponse> + </soap:Body> +</soap:Envelope> +EOF; + } +} + +$client = new LocalSoapClient(NULL, array('location'=>'test://','uri'=>'test://')); +print_r($client->getDIDAreaResponse()); +?> +--EXPECT-- +Array +( + [Array] => Array + ( + [0] => Array + ( + [0] => StateCode + [1] => description + ) + + [1] => Array + ( + [0] => 241 + [1] => Carabobo + ) + + [2] => Array + ( + [0] => 243 + [1] => Aragua and Carabobo + ) + + [3] => Array + ( + [0] => 261 + [1] => Zulia + ) + + ) + +) |