bug42736.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --TEST--
  2. Bug #42736 (xmlrpc_server_call_method() crashes)
  3. --SKIPIF--
  4. <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. class SOAP_Array {
  8. public function get($id){
  9. return $this->add($id);
  10. }
  11. }
  12. $xml = xmlrpc_server_create();
  13. $Myrequest = '<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>GetProducts</methodName><params><param><value><dateTime.iso8601>20060922T14:26:19</dateTime.iso8601></value></param></params></methodCall>';
  14. class MyClass {
  15. function GetProducts($dummy, $time){
  16. return array('faultString' => $time);
  17. }
  18. }
  19. $myclass = new MyClass();
  20. xmlrpc_server_register_method($xml, 'GetProducts', array($myclass, 'GetProducts'));
  21. $response = xmlrpc_server_call_method($xml, $Myrequest, null);
  22. var_dump($response);
  23. echo "Done\n";
  24. ?>
  25. --EXPECTF--
  26. string(402) "<?xml version="1.0" encoding="iso-8859-1"?>
  27. <methodResponse>
  28. <params>
  29. <param>
  30. <value>
  31. <struct>
  32. <member>
  33. <name>faultString</name>
  34. <value>
  35. <array>
  36. <data>
  37. <value>
  38. <dateTime.iso8601>20060922T14:26:19</dateTime.iso8601>
  39. </value>
  40. </data>
  41. </array>
  42. </value>
  43. </member>
  44. </struct>
  45. </value>
  46. </param>
  47. </params>
  48. </methodResponse>
  49. "
  50. Done