php实现通过soap调用.Net的WebService asmx文件


Posted in PHP onFebruary 27, 2017

本文实例讲述了php实现通过soap调用.Net的WebService asmx文件。分享给大家供大家参考,具体如下:

最近,帮一个同行测试用.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 = 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));
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;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php学习笔记 数组遍历实现代码
Jun 09 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
php jsonp单引号转义
Nov 23 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
php实现图片缩略图的方法
Mar 29 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 #PHP
PHP/HTML混写的四种方式总结
Feb 27 #PHP
老生常谈文本文件和二进制文件的区别
Feb 27 #PHP
php实现数据库的增删改查
Feb 26 #PHP
php查询及多条件查询
Feb 26 #PHP
php批量删除操作代码分享
Feb 26 #PHP
浅谈PHP的反射API
Feb 26 #PHP
You might like
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
python实现简单的socket server实例
2015/04/29 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python之批量创建文件的实例讲解
2018/05/10 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
Django web框架使用url path name详解
2019/04/29 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
python怎么对数字进行过滤
2020/07/05 Python
Python collections模块的使用方法
2020/10/09 Python
Django数据统计功能count()的使用
2020/11/30 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
构造器Constructor是否可被override?
2013/08/06 面试题
专业销售业务员求职信
2013/11/18 职场文书
测试工程师职业规划书
2014/02/06 职场文书
干部考核评语
2014/04/29 职场文书
门店店长岗位职责
2015/04/14 职场文书
污水处理保证书
2015/05/09 职场文书
建国大业电影观后感
2015/06/01 职场文书
实习感想范文
2015/08/10 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
详解PyTorch模型保存与加载
2022/04/28 Python