Example #1
0
	$soap_options = array(
		'uri'          => $uri,
		'location'     => $location,
		'trace'        => true,
		'cache_wsdl'   => WSDL_CACHE_NONE,
		'soap_version' => SOAP_1_2
	);
	$wsdl_url = TEST_WSDL . $CLASS;

	echo "<ul>\n";
	try {
		# Skapa klient-object
		$client = new SoapClient($wsdl_url, $soap_options);

		# Anropa Foo-klassens getBar() metod
		$bar = $client->getBar('Sailor', 23);
		
		# Det mottagna värdet är alltid av typen stdClass (när det
		# är en komplex typ (egendefinierad klass)), så vi måste
		# manuellt konvertera det till den klass vi vill ha
		$bar = Bar::fromStdClass($bar);
		
		printf("<li>Anropade %s->getBar('%s', %d)</li>\n", $CLASS, 'Sailor', 23);
		echo '<li><strong>Resultat</strong>:<pre>';
		print_r($bar);
		echo '</pre></li>'. "\n";
		printf("<li><strong>WSDL-fil</strong>: <a href=\"%s\">%s</a></li>\n", $wsdl_url, $wsdl_url);
		printf("<li><strong>Soap-URL</strong>: <a href=\"%s\">%s</a></li>\n", $location, $location);
		printf("<li><strong>Soap-fråga</strong>:<br />%s</li>\n", PrettyPrintXML::pretty_string($client->__getLastRequest(), true));
		printf("<li><strong>Svar</strong>:<br />%s</li>\n", PrettyPrintXML::pretty_string($client->__getLastResponse(), true));
	} catch (Exception $e) { # Hantera undantag