bug44882.phpt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. Bug #44882 (SOAP extension object decoding bug)
  3. --EXTENSIONS--
  4. soap
  5. --INI--
  6. soap.wsdl_cache_enabled=0
  7. --FILE--
  8. <?php
  9. class TestSoapClient extends SoapClient
  10. {
  11. public function __doRequest($req, $loc, $act, $ver, $one_way = 0): ?string
  12. {
  13. return <<<XML
  14. <?xml version="1.0" encoding="UTF-8"?>
  15. <SOAP-ENV:Envelope
  16. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  17. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  18. xmlns:ns="urn:ebay:api:PayPalAPI">
  19. <SOAP-ENV:Body id="_0">
  20. <GetExpressCheckoutDetailsResponse xmlns="urn:ebay:api:PayPalAPI">
  21. <Timestamp>2008-06-23T14:51:08Z</Timestamp>
  22. <Ack>Success</Ack>
  23. <CorrelationID>ae013a0ccdf13</CorrelationID>
  24. <Version>50.000000</Version>
  25. <Build>588340</Build>
  26. <GetExpressCheckoutDetailsResponseDetails xsi:type="ns:GetExpressCheckoutDetailsResponseDetailsType">
  27. <Token>EC-11Y75137T2399952C</Token>
  28. <PayerInfo>
  29. <Payer>example@example.com</Payer>
  30. <PayerID>MU82WA43YXM9C</PayerID>
  31. <PayerStatus>verified</PayerStatus>
  32. </PayerInfo>
  33. </GetExpressCheckoutDetailsResponseDetails>
  34. </GetExpressCheckoutDetailsResponse>
  35. </SOAP-ENV:Body>
  36. </SOAP-ENV:Envelope>
  37. XML;
  38. }
  39. }
  40. $client = new TestSoapClient(__DIR__.'/bug44882.wsdl');
  41. print_r($client->GetExpressCheckoutDetails());
  42. ?>
  43. --EXPECT--
  44. stdClass Object
  45. (
  46. [Timestamp] => 2008-06-23T14:51:08Z
  47. [Ack] => Success
  48. [CorrelationID] => ae013a0ccdf13
  49. [Version] => 50.000000
  50. [Build] => 588340
  51. [GetExpressCheckoutDetailsResponseDetails] => stdClass Object
  52. (
  53. [Token] => EC-11Y75137T2399952C
  54. [PayerInfo] => stdClass Object
  55. (
  56. [Payer] => example@example.com
  57. [PayerID] => MU82WA43YXM9C
  58. [PayerStatus] => verified
  59. )
  60. )
  61. )