|
最近,帮一个同行测试用.net写的WebService接口,C#调用通过,现在需要测试一下php版本对它的调用,经过各种探索,
相关的PHP调用webservice的过程如下:
1.打开php相关扩展:
找到配置文件php.ini 文件, 打开以下扩展
2.php代码如下:
<div class="cnblogs_code">
<span style="color: #000000;"><?<span style="color: #000000;">php<span style="color: #008080;">header<span style="color: #000000;">(<span style="color: #000000;">"<span style="color: #000000;">content-type:text/html;charset=utf-8<span style="color: #000000;">"<span style="color: #000000;">);<span style="color: #800080;">$client<span style="color: #000000;"><span style="color: #000000;">=<span style="color: #000000;"><span style="color: #0000FF;">new<span style="color: #000000;">SoapClient(<span style="color: #000000;">"<span style="color: #000000;">http://192.168.3.178:8080/ChkWelePsw.asmx?WSDL<span style="color: #000000;">"<span style="color: #000000;">);<span style="color: #008000;">//<span style="color: #008000;">本行测试不可行$client=newSoapClient("http://192.168.3.178:8080/chkwelepsw.asmx?WSDL/ChkWele?username=test3&psw=123");//参数这样传递先包装一下<span style="color: #008000;"><span style="color: #800080;">$param<span style="color: #000000;"><span style="color: #000000;">=<span style="color: #000000;"><span style="color: #0000FF;">array<span style="color: #000000;">(<span style="color: #000000;">'<span style="color: #000000;">username<span style="color: #000000;">'<span style="color: #000000;">=><span style="color: #000000;">'<span style="color: #000000;">test3<span style="color: #000000;">'<span style="color: #000000;">,<span style="color: #000000;">'<span style="color: #000000;">psw<span style="color: #000000;">'<span style="color: #000000;">=><span style="color: #000000;">'<span style="color: #000000;">123<span style="color: #000000;">'<span style="color: #000000;">);<span style="color: #008000;">//<span style="color: #008000;">调用必须用soapCall<span style="color: #008000;"><span style="color: #800080;">$p<span style="color: #000000;"><span style="color: #000000;">=<span style="color: #000000;"><span style="color: #800080;">$client<span style="color: #000000;">-><span style="color: #000000;">soapCall(<span style="color: #000000;">'<span style="color: #000000;">ChkWele<span style="color: #000000;">'<span style="color: #000000;">,<span style="color: #0000FF;">array<span style="color: #000000;">(<span style="color: #000000;">'<span style="color: #000000;">parameters<span style="color: #000000;">'<span style="color: #000000;"><span style="color: #000000;">=><span style="color: #000000;"><span style="color: #800080;">$param<span style="color: #000000;">));<span style="color: #008080;">print_r<span style="color: #000000;">(<span style="color: #800080;">$p<span style="color: #000000;">-><span style="color: #000000;">ChkWeleResult);<span style="color: #008000;">//<span style="color: #008000;">这里先输出一下变量$p,看看是什么类型。<span style="color: #008000;"><span style="color: #000000;">?>
注意,在php调用某个方法后,其soap对象,就会自动产生一个Result方法,以方便显示调用结果,如上面的 被调用端的WebService的 “”方法 ,
调用端就有相应的“”方法。
<div style="font-weight: bold;">.NET部分 webservice要注意的地方
<div class="cnblogs_code">
<span style="color: #008000;">/<span style="color: #008000;"><system.web>在这个节点中加入如下内容<addname="HttpSoap"/><addname="HttpPost"/><addname="HttpGet"/><addname="Documentation"/><span style="color: #008000;">*/<span style="color: #000000;">[WebMethod(Description<span style="color: #000000;">=<span style="color: #000000;"><span style="color: #800000;">"<span style="color: #800000;">This......<span style="color: #800000;">"<span style="color: #000000;">,EnableSession<span style="color: #000000;">=<span style="color: #000000;"><span style="color: #0000FF;">false<span style="color: #000000;">)]<span style="color: #0000FF;">public<span style="color: #000000;"><span style="color: #0000FF;">string<span style="color: #000000;">ChkWele(<span style="color: #0000FF;">string<span style="color: #000000;">username,<span style="color: #0000FF;">string<span style="color: #000000;">psw){<span style="color: #0000FF;">string<span style="color: #000000;">ret<span style="color: #000000;">=<span style="color: #000000;"><span style="color: #800000;">""<span style="color: #000000;">;<span style="color: #0000FF;">return<span style="color: #000000;">ret;} (编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|