用PHP调用WEBSERVICE

最近遇到要使用PHP访问WebService。问了一下PHP程序员,用过的人少。本身配置。   在XP上配置不成功,在Win2003上安装一个5.2,安装时记得选择支持Soap。安装完后把IIS里解释PHP的DLL路径改正确。   把PHP.ini文件拷贝到Windows目录下,把Soap的Dll文件php_soap.dll拷贝到System32目录下。重启IIS。新建一个PHP文件。 1/* soap.php */ 2/* 链接的是C#实现的Webservice */ 3$client = new SoapClient( [url]http://xx.xxx.xx.com/service.asmx?wsdl [/url]); 4$client->YourFunctionName( 5array( 6  "Parameter1"=>"Value1", 7  "Parameter2"=>"Value2") ); 8print $client->YourFunctionNameResult; 9   这样就获得结果了。   SoapClient语法详见php.net。用它也能够创建PHP的WebService。 <?php require_once(''nusoap.php'');//调用一个开源的类 下载download $client = new soapclient(''http://www.webservicex.net/globalweather.asmx?WSDL'', true); $err = $client->getError(); if ($err) {  echo ''<h2>Constructor error</h2><pre>'' . $err . ''</pre>''; } // Doc/lit parameters get wrapped $param = array(''CityName'' => ''dalian'',''CountryName'' => ''china''); $result = $client->call(''GetWeather'', array(''parameters'' => $param), '''', '''', false, true,''document'',''encoded''); // Check for a fault if ($client->fault) {  echo ''<h2>Fault</h2><pre>'';  print_r($result);  echo ''</pre>''; } else {  // Check for errors  $err = $client->getError();  if ($err) {   // Display the error   echo ''<h2>Error</h2><pre>'' . $err . ''</pre>'';  } else {   // Display the result   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->debug_str, ENT_QUOTES) . ''</pre>''; ?>
相关文章
相关标签/搜索