[ Index ]
 

Code source de nusoap 0.7.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/samples/ -> wsdlclient4.php (source)

   1  <?php
   2  /*

   3   *    $Id: wsdlclient4.php,v 1.6 2005/05/12 21:42:06 snichol Exp $

   4   *

   5   *    WSDL client sample, based on soap builders round 2 interop.

   6   *

   7   *    Service: WSDL

   8   *    Payload: rpc/encoded

   9   *    Transport: http

  10   *    Authentication: none

  11   */
  12  require_once ('../lib/nusoap.php');
  13  /*

  14   *    Grab post vars, if present

  15   */
  16  $method = isset($_POST['method']) ? $_POST['method'] : '';
  17  $null = isset($_POST['null']) ? $_POST['null'] : '';
  18  $empty = isset($_POST['empty']) ? $_POST['empty'] : '';
  19  $proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
  20  $proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
  21  $proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
  22  $proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
  23  /*

  24   *    When no method has been specified, give the user a choice

  25   */
  26  if ($method == '') {
  27      echo '<form name="MethodForm" method="POST">';
  28      echo '<input type="hidden" name="proxyhost" value="' . $proxyhost .'">';
  29      echo '<input type="hidden" name="proxyport" value="' . $proxyport .'">';
  30      echo '<input type="hidden" name="proxyusername" value="' . $proxyusername .'">';
  31      echo '<input type="hidden" name="proxypassword" value="' . $proxypassword .'">';
  32      echo 'Method: <select name="method">';
  33      echo '<option>echoString</option>';
  34      echo '<option>echoStringArray</option>';
  35      echo '<option>echoInteger</option>';
  36      echo '<option>echoIntegerArray</option>';
  37      echo '<option>echoFloat</option>';
  38      echo '<option>echoFloatArray</option>';
  39      echo '<option>echoStruct</option>';
  40      echo '<option>echoStructArray</option>';
  41      echo '<option>echoVoid</option>';
  42      echo '<option>echoBoolean</option>';
  43      echo '<option>echoBase64</option>';
  44      echo '</select><br><br>';
  45      echo 'Null parameter? <input type="checkbox" name="null" value="1"><br>';
  46      echo 'Empty array? <input type="checkbox" name="empty" value="1"><br><br>';
  47      echo '<input type="submit" value="&#160;Execute&#160;">';
  48      echo '</form>';
  49      exit();
  50  }
  51  /*

  52   *    Execute the specified method

  53   */
  54  if ($method == 'echoString') {
  55      if ($null != '1') {
  56          $params = array('inputString' => 'If you cannot echo a string, you probably cannot do much');
  57      } else {
  58          $params = array('inputString' => null);
  59      }
  60  } elseif ($method == 'echoStringArray') {
  61      if ($null != '1') {
  62          if ($empty != '1') {
  63              $params = array('inputStringArray' => array('String 1', 'String 2', 'String Three'));
  64          } else {
  65              $params = array('inputStringArray' => array());
  66          }
  67      } else {
  68          $params = array('inputStringArray' => null);
  69      }
  70  } elseif ($method == 'echoInteger') {
  71      if ($null != '1') {
  72          $params = array('inputInteger' => 329);
  73      } else {
  74          $params = array('inputInteger' => null);
  75      }
  76  } elseif ($method == 'echoIntegerArray') {
  77      if ($null != '1') {
  78          if ($empty != '1') {
  79              $params = array('inputIntegerArray' => array(451, 43, -392220011, 1, 1, 2, 3, 5, 8, 13, 21));
  80          } else {
  81              $params = array('inputIntegerArray' => array());
  82          }
  83      } else {
  84          $params = array('inputIntegerArray' => null);
  85      }
  86  } elseif ($method == 'echoFloat') {
  87      if ($null != '1') {
  88          $params = array('inputFloat' => 3.14159265);
  89      } else {
  90          $params = array('inputFloat' => null);
  91      }
  92  } elseif ($method == 'echoFloatArray') {
  93      if ($null != '1') {
  94          if ($empty != '1') {
  95              $params = array('inputFloatArray' => array(1.1, 2.2, 3.3, 1/4, -1/9));
  96          } else {
  97              $params = array('inputFloatArray' => array());
  98          }
  99      } else {
 100          $params = array('inputFloatArray' => null);
 101      }
 102  } elseif ($method == 'echoStruct') {
 103      if ($null != '1') {
 104          $struct = array('varString' => 'who', 'varInt' => 2, 'varFloat' => 3.14159);
 105          $params = array('inputStruct' => $struct);
 106      } else {
 107          $params = array('inputStruct' => null);
 108      }
 109  } elseif ($method == 'echoStructArray') {
 110      if ($null != '1') {
 111          if ($empty != '1') {
 112              $structs[] = array('varString' => 'who', 'varInt' => 2, 'varFloat' => 3.14159);
 113              $structs[] = array('varString' => 'when', 'varInt' => 4, 'varFloat' => 99.9876);
 114              $params = array('inputStructArray' => $structs);
 115          } else {
 116              $params = array('inputStructArray' => array());
 117          }
 118      } else {
 119          $params = array('inputStructArray' => null);
 120      }
 121  } elseif ($method == 'echoVoid') {
 122      $params = array();
 123  } elseif ($method == 'echoBoolean') {
 124      if ($null != '1') {
 125          $params = array('inputBoolean' => false);
 126      } else {
 127          $params = array('inputBoolean' => null);
 128      }
 129  } elseif ($method == 'echoBase64') {
 130      if ($null != '1') {
 131          $params = array('inputBase64' => base64_encode('You must encode the data you send; NuSOAP will automatically decode the data it receives'));
 132      } else {
 133          $params = array('inputBase64' => null);
 134      }
 135  } else {
 136      echo 'Sorry, I do not know about method ' . $method;
 137      exit();
 138  }
 139  $client = new soapclient('http://www.scottnichol.com/samples/round2_base_server.php?wsdl&debug=1', true,
 140                          $proxyhost, $proxyport, $proxyusername, $proxypassword);
 141  $err = $client->getError();
 142  if ($err) {
 143      echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
 144  }
 145  $client->useHTTPPersistentConnection();
 146  echo '<h2>Execute ' . $method . '</h2>';
 147  $result = $client->call($method, $params);
 148  // Check for a fault

 149  if ($client->fault) {
 150      echo '<h2>Fault</h2><pre>';
 151      print_r($result);
 152      echo '</pre>';
 153  } else {
 154      // Check for errors

 155      $err = $client->getError();
 156      if ($err) {
 157          // Display the error

 158          echo '<h2>Error</h2><pre>' . $err . '</pre>';
 159      } else {
 160          // Display the result

 161          echo '<h2>Result</h2><pre>';
 162          print_r((!is_bool($result)) ? $result : ($result ? 'true' : 'false'));
 163          echo '</pre>';
 164          // And execute again to test persistent connection

 165          echo '<h2>Execute ' . $method . ' again to test persistent connection (see debug)</h2>';
 166          $client->debug("*** execute again to test persistent connection ***");
 167          $result = $client->call($method, $params);
 168          // And again...

 169          $client->debug("*** execute again ... ***");
 170          $result = $client->call($method, $params);
 171      }
 172  }
 173  echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
 174  echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
 175  echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
 176  ?>


Généré le : Mon Sep 10 13:53:24 2007 par Balluche grâce à PHPXref 0.7