server1.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. require_once "Zend/Soap/AutoDiscover.php";
  3. require_once "Zend/Soap/Server.php";
  4. require_once "Zend/Soap/Wsdl/Strategy/ArrayOfTypeComplex.php";
  5. class Zend_Soap_Service_Server1
  6. {
  7. /**
  8. * @param Zend_Soap_Wsdl_ComplexTypeB
  9. * @return Zend_Soap_Wsdl_ComplexTypeA[]
  10. */
  11. public function request($request)
  12. {
  13. $a = new Zend_Soap_Wsdl_ComplexTypeA();
  14. $b1 = new Zend_Soap_Wsdl_ComplexTypeB();
  15. $b1->bar = "bar";
  16. $b1->foo = "bar";
  17. $a->baz[] = $b1;
  18. $b2 = new Zend_Soap_Wsdl_ComplexTypeB();
  19. $b2->bar = "foo";
  20. $b2->foo = "foo";
  21. $a->baz[] = $b2;
  22. $a->baz[] = $request;
  23. return array($a);
  24. }
  25. }
  26. class Zend_Soap_Wsdl_ComplexTypeB
  27. {
  28. /**
  29. * @var string
  30. */
  31. public $bar;
  32. /**
  33. * @var string
  34. */
  35. public $foo;
  36. }
  37. class Zend_Soap_Wsdl_ComplexTypeA
  38. {
  39. /**
  40. * @var Zend_Soap_Wsdl_ComplexTypeB[]
  41. */
  42. public $baz = array();
  43. }
  44. if(isset($_GET['wsdl'])) {
  45. $server = new Zend_Soap_AutoDiscover(new Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex());
  46. } else {
  47. $uri = "http://".$_SERVER['HTTP_HOST']."/".$_SERVER['PHP_SELF']."?wsdl";
  48. $server = new Zend_Soap_Server($uri);
  49. }
  50. $server->setClass('Zend_Soap_Service_Server1');
  51. $server->handle();