itopsoap.examples.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. // Copyright (C) 2010 Combodo SARL
  3. //
  4. // This program is free software; you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation; version 3 of the License.
  7. //
  8. // This program is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with this program; if not, write to the Free Software
  15. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16. /**
  17. * Shows a usage of the SOAP queries
  18. *
  19. * @author Erwan Taloc <erwan.taloc@combodo.com>
  20. * @author Romain Quetiez <romain.quetiez@combodo.com>
  21. * @author Denis Flaven <denis.flaven@combodo.com>
  22. * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
  23. */
  24. require_once('itopsoaptypes.class.inc.php');
  25. $sItopRoot = 'http'.(empty($_SERVER['HTTPS']) ? '' : 's').'://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].dirname($_SERVER['SCRIPT_NAME']).'/..';
  26. $sWsdlUri = $sItopRoot.'/webservices/itop.wsdl.php';
  27. ini_set("soap.wsdl_cache_enabled","0");
  28. $oSoapClient = new SoapClient(
  29. $sWsdlUri,
  30. array(
  31. 'trace' => 1,
  32. 'classmap' => $aSOAPMapping, // defined in itopsoaptypes.class.inc.php
  33. )
  34. );
  35. try
  36. {
  37. // The most simple service, returning a string
  38. //
  39. $sServerVersion = $oSoapClient->GetVersion();
  40. echo "<p>GetVersion() returned <em>$sServerVersion</em></p>";
  41. // More complex ones, returning a SOAPResult structure
  42. // (run the page to know more about the returned data)
  43. //
  44. $oRes = $oSoapClient->CreateIncidentTicket
  45. (
  46. 'admin', /* login */
  47. 'admin', /* password */
  48. 'Email server down', /* title */
  49. 'HW found shutdown', /* description */
  50. null, /* caller */
  51. new SOAPExternalKeySearch(array(new SOAPSearchCondition('name', 'Demo'))), /* customer */
  52. new SOAPExternalKeySearch(array(new SOAPSearchCondition('name', 'NW Management'))), /* service */
  53. new SOAPExternalKeySearch(array(new SOAPSearchCondition('name', 'Troubleshooting'))), /* service subcategory */
  54. '', /* product */
  55. new SOAPExternalKeySearch(array(new SOAPSearchCondition('name', 'NW support'))), /* workgroup */
  56. array(
  57. new SOAPLinkCreationSpec(
  58. 'Device',
  59. array(new SOAPSearchCondition('name', 'switch01')),
  60. array()
  61. ),
  62. new SOAPLinkCreationSpec(
  63. 'Server',
  64. array(new SOAPSearchCondition('name', 'dbserver1.demo.com')),
  65. array()
  66. ),
  67. ), /* impacted cis */
  68. '1', /* impact */
  69. '1' /* urgency */
  70. );
  71. echo "<p>CreateIncidentTicket() returned:\n";
  72. echo "<pre>\n";
  73. print_r($oRes);
  74. echo "</pre>\n";
  75. echo "</p>\n";
  76. }
  77. catch(SoapFault $e)
  78. {
  79. echo "<h1>SoapFault Exception: {$e->getMessage()}</h1>\n";
  80. echo "<h2>Request</h2>\n";
  81. echo "<pre>\n";
  82. echo htmlspecialchars($oSoapClient->__getLastRequest())."\n";
  83. echo "</pre>";
  84. echo "<h2>Response</h2>";
  85. echo $oSoapClient->__getLastResponse()."\n";
  86. }
  87. ?>