首先需要在php.ini中配置:
extension=php_openssl.dll
extension=php_soap.dll
贴出一个调用天气预报的例子,照着改就可以了:
<?php
header ( "Content-type:text/html;charset=utf-8" );
/*
* 指定wsdl路径并初始化一个SoapClient
*/
$path = "http://www.webservicex.net/globalweather.asmx?wsdl"; // 天气预报的wsdl路径
$client = new SoapClient ( $path );
/*
* 获取SoapClient对象引用的服务所提供的所有方法
*/
echo ("SOAP服务所提供的所有方法:");
echo ('<pre>');
print_r ( $client->__getFunctions () );
echo ('</pre>');
echo ("SOAP服务所提供的所有方法的参数类型:");
echo ('<pre>');
print_r ( $client->__getTypes () );
echo ('<pre>');
echo ("执行getWeather的结果:");
$result = $client->getWeather ( array (
'CityName' => 'changchun',
'CountryName' => 'china'
) );
echo ('<pre>');
echo $result->GetWeatherResult;//显示结果
echo ('<pre>');
上面的案例经过测试是好使的,注意编码是utf-8的。