1<?php
2/*
3 *	$Id: wsdlclient5.php,v 1.4 2007/11/06 14:49:10 snichol Exp $
4 *
5 *	WSDL client sample.
6 *
7 *	Service: WSDL
8 *	Payload: rpc/encoded
9 *	Transport: http
10 *	Authentication: none
11 */
12require_once('../lib/nusoap.php');
13require_once('../lib/class.wsdlcache.php');
14$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
15$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
16$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
17$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
18$useCURL = isset($_POST['usecurl']) ? $_POST['usecurl'] : '0';
19
20$cache = new wsdlcache('.', 60);
21$wsdl = $cache->get('http://www.xmethods.net/sd/2001/BNQuoteService.wsdl');
22if (is_null($wsdl)) {
23	$wsdl = new wsdl('http://www.xmethods.net/sd/2001/BNQuoteService.wsdl',
24					$proxyhost, $proxyport, $proxyusername, $proxypassword,
25					0, 30, null, $useCURL);
26	$err = $wsdl->getError();
27	if ($err) {
28		echo '<h2>WSDL Constructor error (Expect - 404 Not Found)</h2><pre>' . $err . '</pre>';
29		echo '<h2>Debug</h2><pre>' . htmlspecialchars($wsdl->getDebug(), ENT_QUOTES) . '</pre>';
30		exit();
31	}
32	$cache->put($wsdl);
33} else {
34	$wsdl->clearDebug();
35	$wsdl->debug('Retrieved from cache');
36}
37$client = new nusoap_client($wsdl, 'wsdl',
38						$proxyhost, $proxyport, $proxyusername, $proxypassword);
39$err = $client->getError();
40if ($err) {
41	echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
42	exit();
43}
44$client->setUseCurl($useCURL);
45$params = array('isbn' => '0060188782');
46$result = $client->call('getPrice', $params);
47// Check for a fault
48if ($client->fault) {
49	echo '<h2>Fault</h2><pre>';
50	print_r($result);
51	echo '</pre>';
52} else {
53	// Check for errors
54	$err = $client->getError();
55	if ($err) {
56		// Display the error
57		echo '<h2>Error</h2><pre>' . $err . '</pre>';
58	} else {
59		// Display the result
60		echo '<h2>Result</h2><pre>';
61		print_r($result);
62		echo '</pre>';
63	}
64}
65echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
66echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
67echo '<h2>Cache Debug</h2><pre>' . htmlspecialchars($cache->getDebug(), ENT_QUOTES) . '</pre>';
68echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
69?>
70