ck1987 发表于 2015-8-29 10:56:07

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需要注意地方如下:

[*]检查soap.dll是否存在
[*]去掉extension=php_openssl.dll与extension=php_soap.dll前面的分号
[*]认清php.ini文件
[*]重启apach,你懂滴
页: [1]
查看完整版本: PHP与WCF第一次亲密接触