一、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、定义一个类

<?php

    class  Culculator
{
public function sum( $x , $y )
{
return $x + $y ;
}
} class Culculator
{
public function sum($x,$y)
{
return $x + $y;
}
} ?>

2、使用Zend Studio生成wsdl文件;

3、SOAP 服务器端 (server.php)

<?php

    require   './Culculator.php' ;  

    $server  = newSoapServer( './wps.wsdl' );
$server ->setClass( 'Culculator' );
$server ->handle(); require './Culculator.php'; $server = newSoapServer('./wps.wsdl');
$server->setClass('Culculator');
$server->handle(); ?>

3、SOAP 客户端(client.php)

<?php

    $soap  = newSoapClient( './wps.wsdl' );
echo $soap ->sum(1,2);
//运行输出 3
?>

PHP SOAP 教程的更多相关文章

  1. Soap 教程

    SOAP 构建模块 一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素: · 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息 · 可选的 Header 元素 ...

  2. W3Cschool菜鸟教程离线版下载链接

    请在电脑上打开以下链接进行下载w3cschool 离线版(chm):http://pan.baidu.com/s/1bniwRCV(最新,2014年10月21日更新)w3cschool 离线版(htm ...

  3. C#使用SOAP调用Web Service

    程序代码 using System;using System.IO;using System.Net;using System.Text; namespace ConsoleApplication1{ ...

  4. w3school教程整理

    原文链接:http://www.flygon.net/w3school 原文链接:https://github.com/wizardforcel/w3school w3school教程整理 离线版大部 ...

  5. Spring Boot SOAP Webservice例子

    前言 本文将学习如何利用Spring boot快速创建SOAP webservice服务: 虽然目前REST和微服务越来越流行,但是SOAP在某些情况下,仍然有它的用武之地: 在本篇 spring b ...

  6. Web Services 教程

    Web Services 可使您的应用程序成为 Web 应用程序. Web Services 通过 Web 进行发布.查找和使用. Web Services 是应用程序组件 Web Services  ...

  7. W3School 教程整理

    离线版大部分整理自 w3cschool ,少部分整理自 w3school ,由本人整理. 感谢 w3cschool 站长的无私奉献. 由于本人精力有限,此处的列表不一定能够及时更新,最新版本请到本人博 ...

  8. 硅谷新闻2--禁止viewpager预加载

    ContentFragment.java class MyOnPageChangeListener implements ViewPager.OnPageChangeListener { ..... ...

  9. [转]【eoeAndroid索引】史上最牛最全android开发知识汇总

    一.开发环境搭建 (已完成) 负责人:kris 状态:已完成 所整理标签为:搭建 SDK JDK NDK Eclipse ADT 模拟器 AVD 调试器(DEBUG) DDMS 测试 日志 Logca ...

随机推荐

  1. Side effect (computer science)

    In computer science, a function or expression is said to have a side effect if it modifies some stat ...

  2. Java模拟数据量过大时批量处理数据的两种实现方法

    方法一: 代码如下: import java.util.ArrayList; import java.util.List; /** * 模拟批量处理数据(一) * 当数据量过大过多导致超时等问题可以将 ...

  3. Codeforces Round #499 (Div. 2) F. Mars rover_dfs_位运算

    题解: 首先,我们可以用 dfsdfsdfs 在 O(n)O(n)O(n) 的时间复杂度求出初始状态每个点的权值. 不难发现,一个叶子节点权值的取反会导致根节点的权值取反当且仅当从该叶子节点到根节点这 ...

  4. UVA1583-Digit Generator(紫书例题3.5)

    For a positive integer N , the digit-sum of N is defined as the sum of N itself and its digits. When ...

  5. G700存储配置

    首先在G700上创建RAID组,这次选择的是SSD做RAID5,SAS磁盘做的是RAID10,把空闲的物理磁盘加入RAID组内,把已分配给RAID组的物理磁盘全部加在一次资源池里面pool 创建主机组 ...

  6. jquery中的jsonp跨域调用

                                                    jquery jsonp跨域调用接口

  7. 异构关系数据库(MySql与Oracle)之间的数据类型转换参考

    一.MySQL到Oracle的数据类型的转变: 编号 MySQL ToOracle Oracle 1 GEOMETRY BLOB BLOB 2 GEOMETRYCOLLECTION BLOB BLOB ...

  8. tp框架报错 Namespace declaration statement has to be the very first statement in the script

    Namespace declaration statement has to be the very first statement in the script tp框架报这个错误,错误行数就是nam ...

  9. Jquery学习总结(4)——高效Web开发的10个jQuery代码片段

    在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...

  10. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

    Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 1.什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现 ...