`
opensuse
  • 浏览: 183433 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于PHP+SOAP

    博客分类:
  • php
阅读更多

关于PHP+SOAP

<!---->Ø      SOAP <!---->

<!---->1.      Simple  Object  Access   Protocol   简单对象访问协议 <!---->

主要包括下面四部分:

<!---->a)      SOAP 封装: 用于将传输数据中的内容, 发送端消息, 接收端信息和处理方式等信息封装起来以准备数据传输. <!---->

<!---->b)      SOAP 编码规则: 用于表示传输数据中各项的数据类型等信息 <!---->

<!---->c)      SOAP 远程过程调用协定: 用于进行远程过程调用及应答的协议 <!---->

<!---->d)      SOAP 绑定协议: 用于表示信息交换的底层协议 <!---->

<!---->Ø      PHP5 SOAP 应用及配置 <!---->

<!---->1.      PHP 5 中新增了内置的 SOAP 扩展,我们称之为 ext/soap 。它是作为 PHP 的一部分提供的,因此不需要下载、安装和管理单独的包。 <!---->

<!---->2.      ext/soap 可能已经编译但没有加载,因此需要更新 PHP 配置,以便加载 ext/soap 。编辑 php.ini 并找到 Dynamic Extensions 部分,在这里增加一行代码来自动加载该扩展。 在 Windows 上,这一代码行是:extension=php_soap.dll <!---->

如果以前没有加载过任何可选的扩展,可能还要设置 extension_dir 指令,让它指向包含扩展库(其中包括 php_soap )的目录:

extension_dir="C:/php/ext/" (在 Windows 上使用正斜杠)

<!---->3.      完成配置后ext/soap 显示为: <!---->

[soap]
; Enables or disables WSDL caching feature.
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
soap.wsdl_cache_ttl=86400

这段配置控制了 SOAP 扩展的 WSDL 缓存特性。默认情况下,WSDL 描述文件在 24 小时(86400 秒)内都缓存在 /tmp 目录下。现在要设置 soap.wsdl_cache_enabled=0 ,否则,在开发代码时,您会遇到一些莫名其妙的行为。完成开发之后,要记得打开 WSDL 缓存 ,使代码运行得更快。

<!---->Ø      SOAP 扩展库( 主要包括三种对象) <!---->

<!---->1.      SoapServer : 用于在创建PHP 服务端页面时定义可被调用的函数及返回响应数据. <!---->

格式为: $soap = new SoapServer($wsdl, $array);

说明:$wsdlSOAP 使用的WSDL 文件, 是描述WebService 的一种标准格式. 设为NULL 表示不使用WSDL 模式. 如果想用的话可以用ZED 生成.

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

注意 :$array 中包括一个uri,encoding, 如果是客户端程序中还要包含一个location.

    其中'uri ' 选项是必须的 ,但其值可以随便填 ,可以为空(''),不可以为null .

'encoding ' 对于中文的处理,是必须的,一般填'gb2312' ( 否则会出错, 因为默认为'utf-8' ).

 

该对象的addFunction 方法用来声明哪个函数可以被客户端调用,

语法格式为:$soap -> addFunction($function_name);

该对象的handle 方法用来处理用户的输入并调用相应的函数, 最后返回给客户端处理后的结果,

语法格式为:$soap -> handle([$soap_request]);

说明:$soap_request 是一个可选参数, 用来表示用户的请求信息, 如果不指定, 则表示服务器将接收用户的全部请求 .

<!---->2.      SoapClient : 用于调用远程服务器上的SoapServer 页面, 并实现了对相应函数的调用. <!---->

语法格式为:$soap = new SoapClient($wsdl, $array);

注意 : 对于soap client,'location ''uri' 选项都是必须的 ; 其中'location ' 必须为soap server URL , 必须准确,uri 似乎可以随便填,不过最好与soap server 中的uri 一致.'encoding ' 对于中文用户是必须的

创建该对象后, 调用服务器页面中的函数相当于调用SoapClient 的方法

语法格式为:$soap -> user_function($params);

说明:user_function 是服务器端定义的可以被调用中的函数中的一个或几个函数.

<!---->Ø        SoapFault : 用于生成在SOAP 访问过程中可能出现的错误. <!---->

语法格式为:$fault = new SoapFault($faultcode, $faultstring);

说明:$faultcode 是用户自定义的错误代码, 如果没有定义的话应该是HTTP( 印象中),$faultstring 是用户自定义的错误信息.

     该对象会在服务器端页面出现错误时自动生成, 或者通过用户自行创建SoatFault 对象来获得相应的错误信息.

在客户端捕获SoapFault 对象后, 可以通过下面的代码获得错误代码的错误信息

     $fault -> faultcode;          // 错误代码

     $fault -> faultstring;        // 错误信息

 

分享到:
评论

相关推荐

    php+soap通信

    实现php+soap通信,实现php+soap通信,

    PHP的soapDemo

    测试了PHP的soap使用方法,经测试可以使用

    php-soap 扩展源文件

    PHP的SOAP扩展可以用来提供和使用Web services。换句话说,PHP开发者可以利用这个PHP扩展来写他们自己的Web services,也可以写一些客户端来使用给定的Web services。

    php soap实例

    php soap实例 php soap实例 php soap实例 php soap实例

    soap.so linux下php驱动包

    soap.so linux下php驱动包 ,有些人无法打包,官方也没有提供下载。可以通过本地编译。 SOAP扩展 进入安装原php的源码目录, cd ext cd soap phpize ./configure --with-php-config=/var/php/bin/php-config (一定要...

    PHP SOAP解决Could not connect to host

    PHP webservice SOAP解决Could not connect to host

    php soap操作实例

    php soap 这是soap技术,用来做api来,这也是经典的做法。

    php-soap(web,server)

    This extension will allow you to create soap servers and soap clients using php scripting language.

    PHP SOAP实现Web Services 完整实例WSDL服务端+客户端

    PHP实现的Web Services 完整...PHP.INI,请开启php_soap。 服务端:直接解压到网站根目录下,访问地址:http://localhost/hbj/wsdl.php?wsdl 客户端:http://localhost/hbj/Client.php ,显示hello world.表示成功。

    php soap client

    php soapclient 访问java service server

    PHP -soap接口服务器

    采用php soap扩展编写,可将内部接口整理后, 自写义对外转换接口 使用http与soap 可保存调用日志 与错误信息 soap调用第三方接口并处理 按自已规范统一返回数据 http 对外调用自已处理好的数据接口

    PHP SOAP http post get 函数

    利用php curl 实现http post get 包括 SOAP 的发送的函数。 函数包括解决Cookie问题。 实用强大的函数,有了这个函数,做采集或者模拟登陆都很轻松了!

    PHP webservice教程,soap wsdl密码验证,webservice高级应用

    PHP webservice教程,soap wsdl密码验证,webservice高级应用; 好用一定要给好评哦

    php soap 实例

    php soap 实例 SOAP 是基于XML和HTTP通讯协议,XML各个平台,各种语言都支持的一种语言。 不同语言之间需要通信(例如:php,java,c),可以通过SOAP,WSDL使不同操作系统,不同技术的编程语言互相通信。

    PHP-soap接口服务器

    采用php soap扩展编写,可将内部接口整理后, 自写义对外转换接口

    thinkphp下使用soap

    //从soap目录导class.nusoap.php类文件 $client = new nusoap_client($url. "?WSDL", "wsdl"); $client-&gt;soap_defencoding = 'utf-8'; $client-&gt;decode_utf8 = false; $client-&gt;xml_encoding = 'utf-8'; ...

    php、C++使用Soap一例

    Server用php5 soap扩展实现,以soap数组返回A股行情数据。中文用UTF8编码。Client用GCC+wxWidgets2.8+gsoap2.7,IDE: CodeBlocks。通过gsoap生成代理类接收数据。

    PHP使用SOAP调用WEBSERVICE接口

    PHP使用SOAP调用WEBSERVICE接口

    一个支持SOAP11和12规范的PHP客户端

    一个支持SOAP 1.1和1.2规范的PHP客户端

    php soap 头验证

    php soap 头验证服务器端客户端实例

Global site tag (gtag.js) - Google Analytics