189 8069 5689

PHP5SOAP调用原理有哪些以及怎么实现-创新互联

本篇文章为大家展示了PHP5SOAP调用原理有哪些以及怎么实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

10余年的金林网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整金林建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“金林网站设计”,“金林网站推广”以来,每个客户项目都认真落实执行。

SOAP(SimpleObjectAccessProtocol)简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。下面创新互联网站建设公司,小编来讲解下PHP5SOAP调用原理有哪些?PHP5SOAP调用怎么实现?

PHP5SOAP调用原理

SOAP它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。

WSDL(WebServiceDescriptionLanguage)就是描述XMLWeb服务的标准XML格式,WSDL由Ariba、Intel、IBM和微软等开发商提出。它用一种和具体语言无关的抽象方式定义了给定Web服务收发的有关操作和消息。就其定义来说,你还不能把WSDL当作一种对象接口定义语言,例如,CORBA或COM等应用程序体系结构就会用到对象接口定义语言。WSDL保持协议中立,但它确实内建了绑定SOAP的支持,从而同SOAP建立了不可分割的联系。所以,当我在该文中讨论WSDL的时候,我会假定你把SOAP作为了你的通讯协议。

SOAP和WSDL虽然是webservice的两大标准,但是两者并没有必然的联系,都可以独立使用。它们之间的关系就类似HTTP和Html之间的关系。前者是一种协议,后者是对一个WebServer的描述。

PHP5SOAP调用怎么实现

PHP5下的配置

在php的的配置文件php.ini中,找到

extension=php_soap.dll

然后将前面的;号去掉,然后重启web服务

查询webservice方法与参数、数据类型

某省电信公司的入单接口为http://***.******.com/services/AcceptedBusinesswsdl

我们使用SoapClient的__geunctions()和__getTypes()方法查看该接口的方法,参数和数据类型

只有__getFunctions中列出的接口才能被soap调用。

在根目录下创建代码soap.php

header("content-type:text/html;charset=utf-8");

try{

$client=newSoapClient("http://***.******.com/services/AcceptedBusinesswsdl");

print_r($client->__getFunctions());

print_r($client->__getTypes());

}catch(SOAPFault$e){

print$e;

}

>

在浏览器运行:http://localhost/soap.php后,返回结果如下

Array

(

[0]=>ArrayOf_xsd_anyTypeintroduceAcceptedBusiness(string$c3,string$c4,string$linkman,string$linknum,string$num,string$idcard,string$remark,string$address)

[1]=>ArrayOf_xsd_anyTypeintroduceAcceptedBusinessByAiZhuangWei(string$subname,string$linkphone,string$idcard,string$address,string$businesstype,string$marketcode,string$surveycode,string$commanager,string$commanagerphone,string$bendiwang,string$fenju,string$zhiju,string$remark)

[2]=>stringintroduceAcceptedBusinessByStandardInterface(string$xmlStr)

[3]=>stringintroduceAcceptedBusinessByCallOut(string$xmlStr)

[4]=>stringintroduceAcceptedBusinessByYddj(string$xmlParam)

[5]=>ArrayOf_xsd_anyTypequeryAcceptedBusinessByAiZhuangWei(string$surveycode,string$starttime,string$endtime)

[6]=>stringqueryCallOutOrderByConfig(string$xmlParam)

)

Array

(

[0]=>anyTypeArrayOf_xsd_anyType[]

)

其中有个方法introduceAcceptedBusinessByStandardInterface(string$xmlStr),将是开发文档中提到的要使用的接口,参数为xml字符串

另外有的接口中提到有SoapHeader认证,这就需要加入__setSoapHeaders方法,具体可查看http://php.net/manual/zh/soapclient.setsoapheaders.php

提交入单

这一步就是需要根据开发文档拼接xml字符串,然后作为introduceAcceptedBusinessByStandardInterface的参数传入

创建acceptedbusiness.php,内容如下

header("content-type:text/html;charset=utf-8");

try{

$client=newSoapClient('http://***.*******.com/services/AcceptedBusinesswsdl');

$xml="

**电信

张三

13412341234

广东深圳

iPhone6

1111111111111111111111111111111

2111

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

";

$return=$client->introduceAcceptedBusinessByStandardInterface($xml);

print_r($return);

}catch(SOAPFault$e){

print_r('Exception:'.$e);

}

>

在浏览器中执行后,返回

0

入单成功!

2014100905523549742

上述内容就是PHP5SOAP调用原理有哪些以及怎么实现,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


新闻名称:PHP5SOAP调用原理有哪些以及怎么实现-创新互联
URL分享:http://cdxtjz.cn/article/dsjgde.html

其他资讯