"Nooit meer invoer van foutieve gegevens, de kans op fraude aanzienlijk verkleinen en het order- en verzendproces versnellen ..."
Validatie Online
 

PHP voorbeeld XMLRPC/doGetDMZRecord

Service: 
doGetDMZRecord (Retourneert informatie over een bedrijf.)
Programmeertaal: 
PHP (Open-source voor interactieve websites)
Protocol: 
XMLRPC
  1. <?php
  2.  
  3. /**
  4.   * @file Voorbeeldcode webservice AdresXpress/XML-RPC/PHP
  5.   * @copyright Cendris Dataconsulting December 2008
  6.   * @author W.J.J. Tol
  7.   * @version 1.0
  8.   *
  9.   */
  10.  
  11. // Output van de webservice tonen we later onderaan het formulier
  12. $xWebserviceOutput = 'Nog geen output aanwezig.';
  13.  
  14. // Controleer of we dit formulier reeds een keer ge-submit hebben.
  15. if (isset($_POST['gebruikersnaam']))
  16. {
  17. // Normaal gesproken zouden we hier de input van de gebruiker controleren
  18. // In dit voorbeeld slaan we deze actie over.
  19.  
  20. // Allereerst hebben we de xmlrpc bibliotheek nodig.
  21. // Deze zorgt ervoor dat de 'message' netjes in XML verpakt wordt en dat dit
  22. // xml pakketje op het juiste adres wordt afgeleverd.
  23. require_once('xmlrpc.inc');
  24.  
  25. // Tweede stap is het opbouwen van 'message' object
  26. // In deze fase geven we al aan wat de naam is van de service die we gaan aanroepen
  27. $oMessage = new xmlrpcmsg('doGetDMZRecord');
  28.  
  29. // Vervolgens voegen we de gewenste parameters toe
  30. $oMessage->addParam( new xmlrpcval( $_POST['gebruikersnaam'] , 'string'));
  31. $oMessage->addParam( new xmlrpcval( $_POST['wachtwoord'] , 'string'));
  32. $oMessage->addParam( new xmlrpcval( $_POST['search_id'] , 'string'));
  33. $oMessage->addParam( new xmlrpcval( $_POST['kvk_hash'] , 'string'));
  34.  
  35.  
  36. // Nu is het tijd om het client object aan te maken die het daadwerkelijke
  37. // contact met de server gaat leggen.
  38. $oClient = new xmlrpc_client('http://www.cendris.nl/webservices/services/xmlrpc');
  39. // De xmlrpc bibliotheek heeft een handige debugmodues om eventuele problemen op te sporen
  40. // Parameters zijn 0=UIT en 1=AAN
  41. // We zetten de debugmodus hier dus expliciet uit
  42. $oClient->setDebug(0);
  43.  
  44. // Laatste stap is het daadwerkelijk versturen van de opgebouwde 'message'
  45. // en het opvangen van het 'response' object
  46. $oResponse = $oClient->send( $oMessage );
  47.  
  48.  
  49. // Is er wat fout gegaan?
  50. // De foutcode is een numerieke waarde 0=ok , >1 = fout
  51. // $oResponse->faultString() kan gebruikt worden om de foutmelding te achterhalen.
  52. if ($oResponse->faultcode())
  53. {
  54. // Toon in dit geval het volledige response object voor bestudering
  55. $xWebserviceOutput = $oResponse;
  56. }
  57. else
  58. {
  59. // Het Response object bevat niet alleen de waarden die we hebben willen
  60. // maar nog heel veel andere gegevens zoals bijvoorbeeld eventuele foutcodes
  61. // de ruwe xml gegevens etc. etc.
  62. // Met de volgende regel halen we alleen de gewenste informatie op.
  63. $oValue = $oResponse->value();
  64.  
  65. // Rest ons alleen nog maar om uit de terugeleverde structuur precies die
  66. // informatie te halen die we echt weten willen.
  67. // In dit geval gebruiken we een bibliotheek functie om de teruggeleverde
  68. // waarde om te zetten naar een geneste php-array
  69. $xWebserviceOutput = xmlrpc_decode( $oValue );
  70. }
  71. }
  72.  
  73.  
  74.  
  75. ?>
  76.  
  77. <html>
  78. <body style="font-family:Verdana;"><div style="postion:relative;left:10px;">
  79.  
  80. <h3>XML-RPC Voorbeeldcode<br /> <i>doGetDMZRecord</i></h3><br />
  81.  
  82. <form name="example_form" enctype="multipart/form-data" method="POST" action="<?php print $_SERVER['PHP_SELF']?>">
  83. <table>
  84.  
  85. <tr>
  86. <td>Gebruikersnaam</td>
  87. <td><input type="text" size="30" maxlength="30" name="gebruikersnaam" value="<?php print $_POST['gebruikersnaam']?>"></td>
  88. </tr>
  89.  
  90. <tr>
  91. <td>Wachtwoord</td>
  92. <td><input type="text" size="30" maxlength="30" name="wachtwoord" value="<?php print $_POST['wachtwoord']?>"></td>
  93. </tr>
  94.  
  95. <tr>
  96. <td>searchID (uit eerdere doSearchDMZ call)</td>
  97. <td><input type="text" size="40" maxlength="32" name="search_id" value="<?php print $_POST['search_id']?>"></td>
  98. </tr>
  99.  
  100. <tr>
  101. <td>kvk hash (uit eerdere doSearchDMZ call)</td>
  102. <td><input type="text" size="40" maxlength="32" name="kvk_hash" value="<?php print $_POST['kvk_hash']?>"></td>
  103. </tr>
  104.  
  105. <tr>
  106. <td></td>
  107. <td><input type="submit" name="submit" value="Toon Informatie" ></td>
  108. </tr>
  109.  
  110. </table>
  111. </form>
  112.  
  113. <pre>
  114. <!-- Toon de output -->
  115. <?php print_r( $xWebserviceOutput); ?>
  116. </pre>
  117.  
  118. </div></body>
  119. </html>

AdresXpress

6-cijferige postcode
Huisnummer zonder toevoeging
Geavanceerd zoeken

Contact

Wij helpen u graag.
Bel ons:
+31(0) 88 23 63 747 of stuur een e-mail

Feedback Form
Website Feedback