您好,欢迎访问一九零五行业门户网

PHP调用WCF小结,调用wcf小结_PHP教程

php调用wcf小结,调用wcf小结新工作第三周,做了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()
{
return hello world;
}
public string getdata(string value)
{
         return you entered is : + value;
}
2.php端调用
$wcfurl = 'http://192.168.3.102/service1.svc?wsdl';//【这是wcf的地址】
$wcfclient = new soapclient ( $wcfurl );
$result1 = $wcfclient->sayhello ();
print_r ( $result1 );
echo '
';
echo $result1->sayhelloresult;//这里是sayhello+result合在一起写,具体原因我不知道
以上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);
echo $result->getdataresult;
echo '
';
print_r ( $result );
以上正常输出应该是
you entered is :312 
stdclass object ( [getdataresult] => 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
http://www.bkjia.com/phpjc/985691.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/985691.htmltecharticlephp调用wcf小结,调用wcf小结 新工作第三周,做了3年多的.net,突然急转弯做php,漂移过弯,速度180迈 由于数据的整合,在项目中不得不使用...
其它类似信息

推荐信息