webService之SOAP

有些时候,我们的程序会作为客户端,和服务端的例如(erp或者某某平台)进行一个WebService调用。

模拟场景

服务器端使用.net C#来完成webService,下面是一个下例子:

打开页面我们看到了定义的方法

netwebservice

我们已HelloWord方法为例,HelloWorld方法会返回一个helloworld字符串。

点击HelloWorld 来到链接http://192.0.1.111/WebServiceTest/Service.asmx?op=HelloWorld

你会看到 返回的字符串

netservicfe

 

 

原生代码使用soap来调用

首先你的php.ini里php_soap.dll要开启

注释的代码(是传参方式的,HelloWorld方法没有参数所以不需要使用)。

你会看到返回的 HelloWorld字符串

 

symfony2中超简单

在symfony2中就变得超级简单了只需要两行代码搞定,首先做一下准备工作:

安装Bundle:https://github.com/noiselabs/NoiselabsNuSOAPBundle

Bundle安装完成后,在你的controller中输入如下代码即可实现同样效果

当然了,你说这不是3行吗?好吧,die()方法我没算上。

 

 

传入参数

普通参数:.net 发布webservice如下

webservicegetstring

点击打开GetString方法看到如下

SOAP 1.2

以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。

 

我们已symfony为例传入参数代码如下:

 

 

传入数组:webservice方法为

GetArrayV2

 

我们已symfony为例传入参数代码如下:

 

 

传入多维数组:方法为

GetArrayV3

返回参数字符串拼接

我们已symfony为例传入参数代码如下:

 

有了这些就可以应对较复杂的参数传递了。

 

发表评论