bug50761.phpt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. Bug #50761 (system.multiCall crashes)
  3. --SKIPIF--
  4. <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $req = '<?xml version="1.0"?>
  8. <methodCall>
  9. <methodName>system.multiCall</methodName>
  10. <params><param><value><array><data>
  11. <value><struct>
  12. <member><name>methodName</name><value><string>testMethodA</string></value></member>
  13. <member><name>params</name><value><array><data><value><string>A</string>
  14. </value></data></array></value></member>
  15. </struct></value>
  16. <value><struct>
  17. <member><name>methodName</name><value><string>testMethodB</string></value></member>
  18. <member><name>params</name><value><array><data><value><string>B</string>
  19. </value></data></array></value></member>
  20. </struct></value>
  21. </data></array></value></param></params>
  22. </methodCall>';
  23. function testA($methodName, $params, $var){ return "C"; }
  24. function testB($methodName, $params, $var){ return "D"; }
  25. $server = xmlrpc_server_create();
  26. xmlrpc_server_register_method($server, 'testMethodA', 'testA');
  27. xmlrpc_server_register_method($server, 'testMethodB', 'testB');
  28. $res = xmlrpc_server_call_method($server, $req, null);
  29. echo $res;
  30. ?>
  31. --EXPECT--
  32. <?xml version="1.0" encoding="iso-8859-1"?>
  33. <methodResponse>
  34. <params>
  35. <param>
  36. <value>
  37. <array>
  38. <data>
  39. <value>
  40. <array>
  41. <data>
  42. <value>
  43. <string>C</string>
  44. </value>
  45. </data>
  46. </array>
  47. </value>
  48. <value>
  49. <array>
  50. <data>
  51. <value>
  52. <string>D</string>
  53. </value>
  54. </data>
  55. </array>
  56. </value>
  57. </data>
  58. </array>
  59. </value>
  60. </param>
  61. </params>
  62. </methodResponse>