1月
27
27
curl + proxy + ssl + WSDL(nusoap)
Posted by YuanYuan under phpif you want to using WSDL(Web Services Description Language)service, in PHP, you need nusoap, easy to use.
client1 form nusoap example.
- <?php
- /*
- * $Id: client1.php,v 1.3 2007/11/06 14:48:24 snichol Exp $
- *
- * Client sample that should get a fault response.
- *
- * Service: SOAP endpoint
- * Payload: rpc/encoded
- * Transport: http
- * Authentication: none
- */
- require_once('../lib/nusoap.php');
- $proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
- $proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
- $proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
- $proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
- $useCURL = isset($_POST['usecurl']) ? $_POST['usecurl'] : '0';
- $client = new nusoap_client("http://soap.amazon.com/onca/soap2", false,
- $proxyhost, $proxyport, $proxyusername, $proxypassword);
- $err = $client->getError();
- if ($err) {
- echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
- echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
- exit();
- }
- $client->setUseCurl($useCURL);
- // This is an archaic parameter list
- $params = array(
- 'manufacturer' => "O'Reilly",
- 'page' => '1',
- 'mode' => 'books',
- 'tag' => 'trachtenberg-20',
- 'type' => 'lite',
- 'devtag' => 'Your tag here',
- 'sort' => '+title'
- );
- $result = $client->call('ManufacturerSearchRequest', $params, 'http://soap.amazon.com', 'http://soap.amazon.com');
- if ($client->fault) {
- echo '<h2>Fault (Expect - The request contains an invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
- } else {
- $err = $client->getError();
- if ($err) {
- echo '<h2>Error</h2><pre>' . $err . '</pre>';
- } else {
- echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
- }
- }
- echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
- echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
- echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
- ?>
Tags:
ADD COMMENTS