PHP调用(C#)WebService
1.打开php相关扩展:找到配置文件php.ini 文件, 打开以下扩展
extension = php_soap.dll
extension = php_curl.dll
extension = php_openssl.dll
2.php代码如下:
<?php
header("content-type:text/html;charset=utf-8");
$client = new SoapClient("http://localhost:5575/WebSite/newService.asmx?WSDL");
//本行测试不可行 $client = new SoapClient(" http://192.168.3.178:8080/chkwelepsw.asmx?WSDL/ChkWele?username=test3&psw=123");
//参数这样传递 先包装一下
$param = array('uname'=>'test3','upass'=>'123');
//调用必须用__soapCall
$p = $client->__soapCall('HelloWorld',array('parameters' => $param));
print_r($p->HelloWorldResult);//这里先输出一下变量$p,看看是什么类型。
?>
注意,在php调用某个方法后,其soap对象,就会自动产生一个Result方法,以方便显示调用结果,如上面的 被调用端的WebService的 “HelloWorld”方法 ,
调用端就有相应的“HelloWorldResult”方法。
.NET部分 webservice
public string HelloWorld(string uname,string upass)
{
return "Hello World" + "-" + uname + "-" + upass;
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
返回数组
public string[] HelloWorld2(string uname, string upass)
{
return new string[] { "Hello World" + "-" + uname + "-" + upass, "abab" };
}
Array
(
=> Array
(
=> Hello World-test3-123
=> abab
)
)
<?php
header("content-type:text/html;charset=utf-8");
$client = new SoapClient("http://localhost:5575/WebSite/newService.asmx?WSDL");
//本行测试不可行 $client = new SoapClient(" http://192.168.3.178:8080/chkwelepsw.asmx?WSDL/ChkWele?username=test3&psw=123");
//参数这样传递 先包装一下
$param = array('uname'=>'test3','upass'=>'123');
//调用必须用__soapCall
$p = $client->__soapCall('HelloWorld2',array('parameters' => $param));
$aa= (array)$p->HelloWorld2Result;
print_r($aa);//这里先输出一下变量$p,看看是什么类型。
?>
页:
[1]