在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
新工作第三周,做了3年多的.Net,突然急转弯做PHP,漂移过弯,速度180迈 由于数据的整合,在项目中不得不使用PHP调用WCF 一头的雾水,网上相关的资料少又少,在phpChina发个帖子,还没有人回,看来博客园才是永远的家 感谢dudu大神的不厌其烦的回复帮助,Thanks ==========以下是正文=============== 使用PHP调用WCF非常简单,所有的过程,只需要两个字,仔细 一、准备工作: 1.soap.dll 查看PHP安装包里面的ext 是否有 php_soap.dll [PHP自动集成的,一般情况下都会存在,不存在可以在网上下载] 2.修改php.ini文件 第一步确认后,继续找到PHP的配置文件。由于每个人的环境不同,比如有的是使用集成开发环境,一键安装 有的同学是自己分别安装,可能php.ini的位置会不同。此时的做法是使用 phpinfo()进行查看 找到文件后,打开文件, 查找到 ;extension=php_soap.dll 这一行,然后将前面的分号去掉。 如果没有找到这一行,不用担心,自己手动添加这一行也可以. 3.重启apach 二、调用WCF 以上123步完成后,我们的准备工作就完成了,接下来就是写代码 假设大家都会WCF,都有PHP的基础 1.发布一个WCF以备调用 下面是WCF的两个方法 public string SayHello() public string GetData(string value) 2.PHP端调用 $wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';//【这是WCF的地址】 $result1 = $wcfClient->SayHello (); echo '<br>'; 以上PHP代码正常情况下应该输出如下 stdClass Object ( [SayHelloResult] => Hello World ) Hello World 第一个方法就调用成功了 我们继续调用有参数的方法 这个时候一定要用WCF测试客户端进行测试WCF 看到我一开始的WCF的方法,参数是 GetData(string value),而这里显示t,这是因为在WCF是同事帮我写的,他偷懒,直接在定义的时候写的 GetData(string t)。为了这个偷懒,付出了沉重的代码,整整10分钟! 详情连接:http://q.cnblogs.com/q/71331/ 以下是修改后的PHP代码 $args = array('t' => '312'); $wcfClient->GetData($args); 以上正常输出应该是 You entered is :312
以上就完成了PHP对WCF的调用了,当然,有些小伙伴会问高级一点的呢,比如整个类什么的作为参数,返回个类什么的................弱弱的说,还没有玩到那么高级的.. 再次谢谢dudu 以下为参考文章:http://blog.csdn.net/love__coder/article/details/6067611 http://www.cnblogs.com/tianbang/archive/2012/05/07/2489149.html |
2022-08-18
2022-07-29
2022-08-17
2022-09-18
2022-08-17
请发表评论