bug39121.phpt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --TEST--
  2. Bug #39121 (Incorrect return array handling in non-wsdl soap client)
  3. --EXTENSIONS--
  4. soap
  5. --INI--
  6. soap.wsdl_cache_enabled=0
  7. --FILE--
  8. <?php
  9. class LocalSoapClient extends SoapClient {
  10. function __doRequest($request, $location, $action, $version, $one_way = 0): ?string {
  11. return <<<EOF
  12. <?xml version="1.0" encoding="UTF-8"?>
  13. <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/">
  14. <soap:Body>
  15. <getDIDAreaResponse xmlns="http://didx.org/GetList">
  16. <soapenc:Array soapenc:arrayType="xsd:string[2]" xsi:type="soapenc:Array">
  17. <item xsi:type="xsd:string">StateCode</item>
  18. <item xsi:type="xsd:string">description</item>
  19. </soapenc:Array>
  20. <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
  21. <item xsi:type="xsd:int">241</item>
  22. <item xsi:type="xsd:string">Carabobo</item>
  23. </soapenc:Array>
  24. <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
  25. <item xsi:type="xsd:int">243</item>
  26. <item xsi:type="xsd:string">Aragua and Carabobo</item>
  27. </soapenc:Array>
  28. <soapenc:Array soapenc:arrayType="xsd:anyType[2]" xsi:type="soapenc:Array">
  29. <item xsi:type="xsd:int">261</item>
  30. <item xsi:type="xsd:string">Zulia</item>
  31. </soapenc:Array>
  32. </getDIDAreaResponse>
  33. </soap:Body>
  34. </soap:Envelope>
  35. EOF;
  36. }
  37. }
  38. $client = new LocalSoapClient(NULL, array('location'=>'test://','uri'=>'test://'));
  39. print_r($client->getDIDAreaResponse());
  40. ?>
  41. --EXPECT--
  42. Array
  43. (
  44. [Array] => Array
  45. (
  46. [0] => Array
  47. (
  48. [0] => StateCode
  49. [1] => description
  50. )
  51. [1] => Array
  52. (
  53. [0] => 241
  54. [1] => Carabobo
  55. )
  56. [2] => Array
  57. (
  58. [0] => 243
  59. [1] => Aragua and Carabobo
  60. )
  61. [3] => Array
  62. (
  63. [0] => 261
  64. [1] => Zulia
  65. )
  66. )
  67. )