欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

归纳总结PHP调用WCF的方法(附代码)

程序员文章站 2022-05-22 19:13:45
...
由于数据的整合,在项目中不得不使用PHP调用WCF,使用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分钟!

以下是修改后的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的调用了,当然,有些小伙伴会问高级一点的呢,比如整个类什么的作为参数,返回个类什么的................弱弱的说,还没有玩到那么高级的..

【相关教程推荐】

1. php编程从入门到精通全套视频教程

2. php从入门到精通

3. bootstrap教程

相关标签: wcf php