summaryrefslogtreecommitdiff
path: root/ext/soap/tests
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-11-06 16:36:43 +0000
committerDmitry Stogov <dmitry@php.net>2006-11-06 16:36:43 +0000
commit7b8f30adcbbfe39ac44514415d82af91dcbaa98c (patch)
treed452c5448462f91abb0f23767c943dad39dc1210 /ext/soap/tests
parentc2639290023649e6a2678b853edd2917768480b5 (diff)
downloadphp-git-7b8f30adcbbfe39ac44514415d82af91dcbaa98c.tar.gz
Fixed bug #39121 (Incorrect return array handling in non-wsdl soap client)
Diffstat (limited to 'ext/soap/tests')
-rwxr-xr-xext/soap/tests/bugs/bug39121.phpt73
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
+ )
+
+ )
+
+)