博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 如何利用 soap调用.Net的WebService asmx文件
阅读量:6375 次
发布时间:2019-06-23

本文共 1339 字,大约阅读时间需要 4 分钟。

原文:

最近,帮一个同行测试用.net写的WebService接口,C#调用通过,现在需要测试一下php版本对它的调用,经过各种探索,

相关的PHP调用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://192.168.3.178:8080/ChkWelePsw.asmx?WSDL
"
);
$client->soap_defencoding = 'utf-8'; $client->decode_utf8 = false; $client->xml_encoding = 'utf-8';
//
本行测试不可行 $client = new SoapClient(" http://192.168.3.178:8080/chkwelepsw.asmx?WSDL/ChkWele?username=test3&psw=123");
//参数这样传递 先包装一下
$param
 
=
 
array
(
'
username
'
=>
'
test3
'
,
'
psw
'
=>
'
123
'
);
//
调用必须用__soapCall
$p
 
=
 
$client
->
__soapCall(
'
ChkWele
'
,
array
(
'
parameters
'
 
=>
 
$param
));//间接调用
$p = $client->ChkWele($param);//直接调用
print_r
(
$p
->
ChkWeleResult);  
//
这里先输出一下变量$p,看看是什么类型。
?>

 

 

注意,在php调用某个方法后,其soap对象,就会自动产生一个Result方法,以方便显示调用结果,如上面的 被调用端的WebService的 “ChkWele”方法 ,

调用端就有相应的“ChkWeleResult”方法。

 

 

.NET部分 webservice要注意的地方

 

 

/*
 *    <system.web>在这个节点中加入如下内容
    <webServices>
     <protocols>
        <add name="HttpSoap"/>
        <add name="HttpPost"/>
        <add name="HttpGet"/>
        <add name="Documentation"/>
     </protocols>
    </webServices>  
 
*/
[WebMethod(Description 
=
 
"
This......
"
, EnableSession 
=
 
false
)]
public
 
string
 ChkWele(
string
 username, 
string
 psw)
{
    
string
 ret 
=
 
""
;
    
return
 ret;
}

 

转载地址:http://tajqa.baihongyu.com/

你可能感兴趣的文章
去除UITableViewheader footer黏性
查看>>
windows2003 iis6.0不能显示asp.net选项
查看>>
xen MacOS
查看>>
如何学好C和C++
查看>>
Gitlab通过custom_hooks自动更新服务器代码
查看>>
python 如何判断调用系统命令是否执行成功
查看>>
Lesson10 vSphere 管理特性
查看>>
memcache 扩展和 memcached扩展安装
查看>>
获取设备列表
查看>>
项目软件集成三方模块,编译中int32和uint32定义冲突解决方法
查看>>
StretchDIBits速度测试(HALFTONE)
查看>>
在.NET Workflo“.NET研究”w 3.5中使用多线程提高工作流性能
查看>>
验证Oracle处理速度
查看>>
Flink - NetworkEnvironment
查看>>
BZOJ4374 : Little Elephant and Boxes
查看>>
javascript类型系统——包装对象
查看>>
springcloud(十三):Eureka 2.X 停止开发,但注册中心还有更多选择:Consul 使用详解...
查看>>
IdHttpServer实现webservice
查看>>
爱立信物联网广州路演
查看>>
Stopping and/or Restarting an embedded Jetty in...
查看>>