,,PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】

,,PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】

本文主要介绍了soap在PHP中的使用,并结合实例分析了SoapServer服务器和SoapClient客户端的相关实现技巧和操作注意事项。有需要的可以参考一下。

这篇文章展示了soap在PHP中的用法。分享给你,供你参考,如下:

一、首先要设置服务器环境

修改php.ini

Add extension=php_soap.dll(加载soap内置包)

将soap.wsdl_cache_enabled=1更改为soap.wsdl_cache_enabled=0。这是肥皂的储藏处。测试的时候最好改成0,在线稳定的时候改成1。

soap有两种模式:wsdl和非wsdl。

二、熟悉几个函数

1. SoapServer

SoapServer用于定义在创建php服务器页面时可以调用并返回响应数据的函数。

格式:

$soap=new SoapServer($wsdl,$ array);

其中,$wsdl是soap使用的wsdl文件,wsdl是描述Web服务的标准格式。如果$wsdl设置为null,则意味着不使用wsdl模式。

$array是SoapServer的属性信息,是一个数组。

SoapServer对象的addFunction方法用于声明客户端可以调用哪个函数。语法格式如下:

$ soap-add function($ function _ name);

其中$soap是SoapServer对象,$function_name是要调用的函数的名称。

SoapServer对象的handle方法用于处理用户输入并调用相应的函数,最后将处理结果返回给客户端。语法如下:

$ soap-handle([$ soap _ request]);

其中,$soap是SoapServer对象,$soap_request是可选参数,用于表示用户的请求信息。如果没有指定$soap_request,这意味着服务器将接收来自用户的所有请求。

2. SoapClient

SoapClient用于调用远程服务器上的SoapServer页面,并调用相应的函数。

格式:

$soap=new SoapClient($wsdl,$ array);

参数$wsdl和$array与SoapServer相同。

SoapClient的方法,创建语法如下:

$ soap-user _ function($ params);

其中$soap是SoapClient对象,user_function是要在服务器端调用的函数,而$params是要传入函数的参数。

3. SoapFault

SoapFault用于生成在soap访问期间可能发生的错误。创建soapFault对象的语法格式。

格式:

$fault=new SoapFault($faultcode,$ fault string);

其中$faultcode是用户定义的错误代码,$faultstring是用户定义的错误消息。当服务器端页面出现错误,或者用户自己创建soapFault对象时,会自动生成SoapFault对象。对于Soap访问中的错误,客户端可以捕获SoapFalut对象来获取相应的错误信息。客户端捕获SoapFault对象后,可以通过下面的代码获取错误代码和信息。

$ fault-fault code;//错误代码

$ fault-fault string;//错误消息

其中$fault是前面创建的SoapFault对象。

4. SoapHeader

Soapheader用于描述soap的头部信息,一般用于认证。

/*

*SoapHeader参数描述如下:

* *'http://tempuri.org/'命名空间(可以省略命名空间)

*“我的soap头”soap头的类名。

*”数组(.)”存储标识身份的字符串参数。

*'true '是否必须处理标头?

*/

格式:

$ h=new SOAP header(' http://192 . 168 . 0 . 153/Hao/',' auth ',' 123456789 ',false,SOAP _ ACTOR _ NEXT);

三、实例

没有wsdl模式的代码

服务端:

//认证服务器

类别测试{

公共函数auth($a)

{

如果($a!='123456789'){

抛出新的SoapFault('Server ','您没有访问权限');

}

}

函数say()

{

返回“hi 11111”;

}

}

$srv=new SoapServer(null,array(' uri '=' http://192 . 168 . 0 . 153/Hao ');

$ SRV-set class(' Test ');

$ SRV-handle();

Test类中的Auth进行认证判断,这个方法对应客户端soapheader中的方法。

客户端:

//加密客户端

$cli=new SoapClient(null,array(' uri '=' http://192 . 168 . 0 . 153/Hao/',' location '=' http://192 . 168 . 0 . 153/Hao/test . PHP ',' trace'=true,' encoding '=' utf-8 '));

$ h=new SOAP header(' http://192 . 168 . 0 . 153/Hao/',' auth ',' 123456789 ',false,SOAP _ ACTOR _ NEXT);

$ CLI-_ _ setSoapHeaders(array($ h));

尝试{

echo $ CLI-say();

} catch(异常$e) {

echo $ e-getMessage();

}

soapheader中作家(作者的简写)对应服务端作家(作者的简写)方法

如果不认证,可以去掉下面这两行:

$ h=新的SOAP标头(' http://192。168 .0 .153/Hao/',' auth ',' 123456789 ',false,SOAP _ ACTOR _ NEXT);

$ CLI-_ _ setSoapHeaders(array($ h));

wsdl模式

首先老师成wsdl文件,至于怎么生成网站很多

服务端:

//wsdl服务端

需要. 5/服务器。班级。PHP ';

$服务器=新的SoapServer(./服务器。wsdl’);

$ Server-set类(' Server ');

$ server-handle();

server.class.php类代码

类别服务器{

公共函数auth($a){

如果($a!='123456789'){

抛出新的SoapFault('服务器','您无权访问');

}

}

公共函数测试(){

返回'你在测试;

}

}

客户端:

//wsdl文件客户端

$ soap=新的soap客户端(' http://192。168 .0 .153/号/服务器。wsdl’);//如果是远程,那当然写dizzylion.wsdl的统一资源定位器了。

$ h=新的SOAP标头(' http://192。168 .0 .153/Hao/',' auth ',' 123456789 ',false,SOAP _ ACTOR _ NEXT);

$ soap-_ _ setSoapHeaders(array($ h));

尝试{

echo $ soap-test();

} catch(异常$e) {

echo $ e-getMessage();

}

更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《php socket用法总结》 、 《php字符串(string)用法总结》 、 《PHP数学运算技巧总结》 、 《php面向对象程序设计入门教程》 、 《PHP数组(Array)操作技巧大全》 、 《PHP数据结构与算法教程》 、 《php程序设计算法总结》 及《PHP网络编程技巧总结》

希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: