PHP调用WCF小结

新工做第三周,作了3年多的.Net,忽然急转弯作PHP,漂移过弯,速度180迈php

因为数据的整合,在项目中不得不使用PHP调用WCFhtml

一头的雾水,网上相关的资料少又少,在phpChina发个帖子,尚未人回,看来博客园才是永远的家测试

感谢dudu大神的不厌其烦的回复帮助,Thanksspa

==========如下是正文===============.net

使用PHP调用WCF很是简单,全部的过程,只须要两个字,仔细code

1、准备工做:htm

1.soap.dllblog

查看PHP安装包里面的ext 是否有 php_soap.dll [PHP自动集成的,通常状况下都会存在,不存在能够在网上下载]开发

2.修改php.ini文件博客

第一步确认后,继续找到PHP的配置文件。因为每一个人的环境不一样,好比有的是使用集成开发环境,一键安装

有的同窗是本身分别安装,可能php.ini的位置会不一样。此时的作法是使用 phpinfo()进行查看

找到文件后,打开文件,

查找到 

;extension=php_soap.dll

这一行,而后将前面的分号去掉。

若是没有找到这一行,不用担忧,本身手动添加这一行也能够.

3.重启apach

2、调用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 '<br>';
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 '<br>';
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

相关文章
相关标签/搜索