PHP与WCF第一次亲密接触

接触PHP第二天,要求PHP访问WCF服务

着实痛苦,无从下手啊.

在网上查了很多资料知道PHP访问WCF很方便

<?php $client = new SoapClient ( 'http://localhost:1447/Service1.svc?wsdl' ); .... ?>

如上即可访问

但是报错,无法找到SoapClient 这个类,在网上找答案,说是要去掉php.ini中;extension=php_soap.dll的分号去掉,然后重启即可

由于不熟悉,兄弟一直在apach中的php.ini-dist中改了又改,一直无效.看了很多网站,都是说没有去掉那个分号

可是我就纳闷了,我去了咋就不行呢

蛋痛了一下午,最后甚至怀疑是不是人品出了问题

临近下班,无意间又打开了localhost这个熟悉的界面

php.ini

F:\PHP\php-5.2.14-Win32\php-apache2handler.ini

我的天,php.ini应该是F:\PHP\php-5.2.14-Win32\php-apache2handler.ini

当即修改,立马见效.

<?php $client = new SoapClient ( 'http://localhost:1447/Service1.svc?wsdl' );//这是复制的wcf test client的路径 $obj->x = 2; $obj->y = 3; $result= $client->Add ( $obj );//wcf 中add方法需要两int,你懂滴 echo $result->AddResult;//现在还没明白为啥结果集 $cc->AddResult $strParam->str="tianbang"; $str = $client->GetStr ( $strParam); echo $str->GetStrResult;//这里测试返回一个string,因为我想json,你懂滴 ?>

总结:使用soapclient需要注意地方如下:

  1. 检查soap.dll是否存在
  2. 去掉extension=php_openssl.dll与extension=php_soap.dll前面的分号
  3. 认清php.ini文件
  4. 重启apach,你懂滴
posted @   郑文亮  阅读(3614)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2011-09-29 Android 使用全局变量 (转)
2011-09-29 Android 文件的下载 (转)
点击右上角即可分享
微信分享提示