初识php soap 学习过程中的摘抄,便于后期翻阅
SOAP 简单对象访问协议,
webService三要素 , SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。
修改php.ini
得添加extension=php_soap.dll (加载soap 内置包)
修改soap.wsdl_cache_enabled=1 改为soap.wsdl_cache_enabled=0 这个是soap的缓存,测试的时候最好改为0,上线稳定了改为1
一、SoapServer 服务器
1、__construct
作用:创建 SoapServer 对象
用法:__construct ( mixed wsdl [, array options] )
参数:wsdl 文件地址,options soap_version,encoding,actor,classmap
返回:对象
2、addFunction
作用:为客户端导出一个或多个函数
用法:addFunction ( mixed functions )
参数:functions 函数,一个或多个,全部 SOAP_FUNCTIONS_ALL
返回:无
3、getFunctions
作用:获取全部函数
用法:getFunctions ()
参数:无
返回:函数数组
4、setClass
作用:导出类中的全部函数
用法:setClass ( string class_name [, mixed args [, mixed ...]] )
参数:class_name 类名 args 参数
返回:无
5、setPersistence
作用:允许保存在PHP之间的会话请求数据
用法:setPersistence ( int mode )
参数:mode SOAP_PERSISTENCE_SESSION SOAP_PERSISTENCE_REQUEST
返回:无
6、fault
作用:允许保存在PHP之间的会话请求数据
用法:fault ( string code, string string [, string actor [, mixed details [, string name]]] )
参数:code 错误代码 string 简短错误信息 actor 导致错误的字符串 details 错误详细信息
返回:无
7、handle ( [string soap_request] )
作用:处理一个SOAP请求,调用必要的功能,并发送回一个响应。
用法:handle ( [string soap_request] )
参数:soap_request 请求
返回:无
二、SoapClient 客户端
1、__construct
作用:创建 SoapClient 对象
用法:__construct ( mixed wsdl [, array options] )
参数:wsdl 文件地址 或 null,
options
a、soap_version soap版本,encoding 编码,compression 压缩,classmap
b、http身份验证 :login , password
c、代理服务:proxy_host, proxy_port, proxy_login and proxy_password
d、证书验证:local_cert , passphrase
e、wsdl 为null 时:location , uri
返回:对象
2、__call
作用:调用函数
用法:__call ( string function_name, array arguments [, array options [, array input_headers [, array output_headers]]] )
参数:function_name,arguments
返回:无
3、__doRequest
作用:在执行HTTP请求
用法:__doRequest ( string request, string location, string action, int version [, int one_way] )
参数:request XML的SOAP请求 location 请求地址 action ,version
返回:字符串
4、__getFunctions
作用:获取全部方法
用法:__getFunctions( )
参数:无
返回:函数数组
5、__getFunctions
作用:获取全部方法
用法:__getFunctions( )
参数:无
返回:函数数组
6、__setCookie
作用:设置cookie
用法:__setCookie ( string name [, string value] )
参数:name cookie名称 value cookie值
返回:无
7、__getLastRequest
作用:获取最后的请求
用法:__getLastRequest ()
参数:无
返回:最后的请求
8、__getLastRequestHeaders
作用:获取最后的请求头部信息
用法:__getLastRequestHeaders ()
参数:无
返回:最后的请求头部信息
9、__getLastResponse
作用:获取最后的回应
用法:__getLastRequest ()
参数:无
返回:最后的请求回应
10、__getLastResponseHeaders
作用:获取最后的回应头部信息
用法:__getLastResponseHeaders ()
参数:无
返回:最后的回应头部信息
三、SoapVar 参数
1、__construct
作用:创建 SoapVar 对象
用法:__construct ( mixed data, int encoding [, string type_name [, string type_namespace [, string node_name [, string node_namespace]]]] )
参数:data 数据,encoding 编码
返回:参数对象
四、SoapParam 参数
1、__construct
作用:创建 SoapParam 对象
用法:__construct ( mixed data, string name )
参数:data 传递的变量,name 变量的值
返回:参数对象
__construct ( string namespace, string name [, mixed data [, bool mustUnderstand [, mixed actor]]] )
五、SoapHeader 头部
1、__construct
作用:创建 SoapHeade 对象
用法:__construct ( string namespace, string name [, mixed data [, bool mustUnderstand [, mixed actor]]] )
参数: namespace 命名空间 name SOAP 头标签名称 ,data 头部内容
返回:对象
六、SoapFault 头部
1、__construct
作用:创建 SoapFault 对象
用法:__construct ( string faultcode, string faultstring [, string faultactor [, mixed detail [, string faultname [, SoapHeader headerfault]]]] )
参数: faultcode 错误代码,faultstring 错误信息 ,faultactor 导致错误字符串,detail 错误详情
返回:对象
七、例子
1、定义一个类
class Calculator
{
public function sum($x,$y)
{
return $x + $y;
}
}
2、使用Zend Studio生成wsdl文件;
3、SOAP 服务器端 (server.php)
require './Calculator.php';
$server = newSoapServer('./wps.wsdl');
$server->setClass('Culculator');
$server->handle();
3、SOAP 客户端(client.php)
查看源码 复制到剪切板 打印 帮助
$soap = newSoapClient( './wps.wsdl' );
echo $soap ->sum(1,2);
//运行输出 3
初识php soap 学习过程中的摘抄,便于后期翻阅的更多相关文章
- Java学习过程中的总结的小知识点(长期更新)
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...
- 谨以此篇献给DJANGO学习过程中遇到的问题
谨以此篇献给DJANGO学习过程中遇到的问题 一.Django数据同步过程中遇到的问题: 1.raise ImproperlyConfigured('mysqlclient 1.3.13 or new ...
- 关于JDBC学习过程中的注意事项(分享自己犯过的错误,写给初学JDBC的小伙伴的八条建议)
关于JDBC学习过程中的注意事项(分享自己犯过的错误,写给初学JDBC的小伙伴的八条建议) 前言:最近在学习JDBC,总结了几个小问题,特地分享给大家,让大家不要犯这样的错误,也希望大家养成学会总结的 ...
- 关于《Selenium 2自动化测试实战 基于Python语言》学习过程中键盘的常用操作
下边是自己在学习过程中总结的一些常用键盘的操作
- Mybatis 学习过程中出现空指针异常的错误【已解决】
Mybatis 学习过程中出现空指针异常的错误[已解决] 以下是写的小测试的代码 bean层 Player类(篮球队队员) bean层 Team类(篮球队) dao层 TeamDao.xml配置文件 ...
- 一些JavaSE学习过程中的思路整理(主观性强,持续更新中...)
目录 一些JavaSE学习过程中的思路整理(主观性强,持续更新中...) Java书写规范 IDEA的一些常用快捷键 Java类中作为成员变量的类 Java源文件中只能有一个public类 Java中 ...
- 初识ASP.NET 5中的Sake与KoreBuild
从github上签出基于ASP.NET 5的MVC 6的源代码进行编译,发现有2个编译命令: build.cmd是针对Windows的编译命令,build.sh是针对Mac/Linux的编译命令,这本 ...
- 终于解决了PHP调用SOAP过程中的种种问题。(转)
最近在做公司和第三方的一个合作项目,需要调用统一验证接口和统一支付接口.由于牵涉公司机密,所以我要单独写一层PHP的接口给第三方用.前面那个验证接口主要卡在了des加密的方式上,这个有时间再说.这篇主 ...
- 初识在Spring Boot中使用JPA
前面关于Spring Boot的文章已经介绍了很多了,但是一直都没有涉及到数据库的操作问题,数据库操作当然也是我们在开发中无法回避的问题,那么今天我们就来看看Spring Boot给我们提供了哪些疯狂 ...
随机推荐
- SMBLoris windows拒绝服务漏洞
在美国拉斯维加斯举行的2017年度DEF CON黑客大会上,安全研究人员公布了Windows系统上的一个长达20年没有发现的漏洞,该漏洞名为"SMBLoris",黑客可以轻松的使用 ...
- Git时光机穿梭之撤销修改
自然,你是不会犯错的.你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version control system. Git is ...
- ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)
问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...
- Open-Falcon第一步环境准备(小米开源互联网企业级监控系统)
1.环境安装 本文采取rpm安装方式,大家也可以用源码包安装. wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release- ...
- python实战第一天-环境的安装
操作系统 Ubuntu 15.10 IDE & editor JetBrains PyCharm 5.0.2 ipython3 Python版本 python-3.4.3 安装Python s ...
- POJ--1088--dp--滑雪
#include<iostream> using namespace std; ; }; }; int dp(int,int); int row,col; int main() { whi ...
- How to create a jump server in AWS VPC
本来是写的Word文档,给其他国家的同时看的,所以一开始就是英文写的,也没打算翻译成为中文了,顺便抱怨下,网上资料找了很久的资料都没有看到介绍怎么在单机环境下搭建RD Gateway的,写本文的目的是 ...
- 用分治法解决最近点对问题:python实现
最近点对问题:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点对的距离最小.需要说明的是理论上最近点对并不止一对,但是无论是寻找全部还是仅寻找其中之一,其原理没有区别,仅需略作改造即可 ...
- ESLint入门
ESLint是一个用于识别和报告ECMAScript/JavaScript中代码格式的工具,目的是使代码风格更加统一和避免错误. 1.安装和使用有两种方式去安装ESLint:全局和本地. 1.1本地安 ...
- Oracle用户的初始化问题
上一篇博文介绍了关于.bashrc和.bash_profile的相关知识,在oracle的用户设置中能发挥作用. 场景:上周准备学习一下oracle,下载了安装文件后,在linux上新建了一个用户or ...