准备工作:
1. 安装IIS对于PHP的支持,看这里
2. 要调用Web Service需要nusoap支持,只要弄个nusoap.php就可以了,把它放在要运行的php文件能够引用的地方,比如我放在同一目录下。
可以从这里下载最新版本的NuSoap,不过貌似最近sourceforge被和谐了?
3. 创建一个C#的web service,这个就不多说了,我用vs2008的wizard创建了一个最简单的,让它运行在:http://localhost/webservice1/service1.asmx

其中有个web method像这样的:
1简单范例php调用C# WebService[WebMethod]
2简单范例php调用C# WebServicepublic string HelloWorld()
3 }

ok,一切就绪。在某php文件中如下写法:
 1简单范例php调用C# WebService<?php
 2简单范例php调用C# WebServicerequire_once('nusoap.php');
 3简单范例php调用C# WebService/*index.php*/
 4简单范例php调用C# WebService$client = new SoapClient('http://localhost/webservice1/service1.asmx?wsdl', true);
 5简单范例php调用C# WebService$str = $client->call('HelloWorld');
 6简单范例php调用C# WebServiceif(!$err = $client->getError())
 7简单范例php调用C# WebService{    
 8简单范例php调用C# WebService    echo "return:", $str['HelloWorldResult'];
 9简单范例php调用C# WebService}
10简单范例php调用C# WebServiceelse
11简单范例php调用C# WebService{
12简单范例php调用C# WebService    echo "error:", $err;
13简单范例php调用C# WebService}
14简单范例php调用C# WebService?>
第一次搞这个php代码,只能意会了简单范例php调用C# WebService
这种方式不太好用,当使用PHPEclipse进行编译时,报告错误:
Debug Strict (PHP 5): /LocalizationTest/nusoap.php line 6496 - Assigning the return value of new by reference is deprecated
Compile Error: /LocalizationTest/nusoap.php line 7240 - Cannot redeclare class soapclient
有人说可以通过改名字的方式修改nusoap.php剔除这个错误,这样总是不方便,后来发现php5本身就支持SOAP调用Web Service:
简单范例php调用C# WebService<?php
简单范例php调用C# WebService    
//get localization strings from C# webservice
简单范例php调用C# WebService
    $client = new SoapClient('http://localhost/webservice1/Localization.asmx?wsdl');

简单范例php调用C# WebService
    echo "Call web service method from C# WebService:\n";
简单范例php调用C# WebService    $result = $client->GetLocalizationResource();

简单范例php调用C# WebService    
if(!is_soap_fault($result))
简单范例php调用C# WebService    {    
简单范例php调用C# WebService        
echo "return:\n", $result->GetLocalizationResourceResult;
简单范例php调用C# WebService    }
简单范例php调用C# WebService    
else
简单范例php调用C# WebService    {
简单范例php调用C# WebService        
echo "soap call fault";
简单范例php调用C# WebService    }
简单范例php调用C# WebService
?>
php soap调用的详细信息请参照这里

相关文章:

  • 2021-09-21
  • 2022-02-21
  • 2022-12-23
  • 2021-09-22
  • 2021-12-23
  • 2021-09-27
  • 2022-12-23
猜你喜欢
  • 2021-11-04
  • 2022-01-25
  • 2022-12-23
  • 2021-05-17
  • 2021-07-18
相关资源
相似解决方案