php soap 使用
来源:互联网 发布:java新闻发布系统 编辑:程序博客网 时间:2024/06/06 01:03
PHP 使用soap有两种方式。
一、用wsdl文件
服务器端。
<?phpclass service{ public function HelloWorld() { return "Hello"; } public function Add($a,$b) { return $a+$b; }}$server=new SoapServer('soap.wsdl',array('soap_version' => SOAP_1_2));$server->setClass("service");$server->handle();?>资源描述文件,可以用工具(zend studio)生成。其实就是一个xml文件。
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost/interface/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="soap" targetNamespace="http://localhost/interface/"> <wsdl:types> <xsd:schema targetNamespace="http://localhost/interface/"> <xsd:element name="HelloWorld"> <xsd:complexType> <xsd:sequence> <xsd:element name="in" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="HelloWorldResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Add"> <xsd:complexType> <xsd:sequence> <xsd:element name="in" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="AddResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="AddRequest"> <wsdl:part name="a" type="xsd:int"></wsdl:part> <wsdl:part name="b" type="xsd:int"></wsdl:part> </wsdl:message> <wsdl:message name="AddResponse"> <wsdl:part name="c" type="xsd:int"></wsdl:part> </wsdl:message> <wsdl:portType name="TestSoap"> <wsdl:operation name="Add"> <wsdl:input message="tns:AddRequest"></wsdl:input> <wsdl:output message="tns:AddResponse"></wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="soapSOAP" type="tns:TestSoap"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="Add"> <soap:operation soapAction="http://localhost/interface/Add" /> <wsdl:input> <soap:body use="literal" namespace="http://localhost/interface/" /> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://localhost/interface/" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TestSoap"> <wsdl:port binding="tns:soapSOAP" name="soapSOAP"> <soap:address location="http://localhost/interface/myservice.php"/> </wsdl:port> </wsdl:service></wsdl:definitions>
客户端调用
<?php$soap = new SoapClient('http://localhost/interface/soap.wsdl');echo $soap->Add(1,2);?>
二、不用wsdl文件
服务器端
<?phpclass service{ public function HelloWorld() { return "Hello"; } public function Add($a,$b) { return $a+$b; }}$server=new SoapServer(null,array('uri' => "abcd"));$server->setClass("service");$server->handle();?>
客户端
<?phptry{$soap = new SoapClient(null,array("location" => "http://localhost/interface/soap.php","uri" => "abcd", //资源描述符服务器和客户端必须对应"style" => SOAP_RPC,"use" => SOAP_ENCODED ));echo $soap->Add(1,2);}catch(Exction $e){echo print_r($e->getMessage(),true);}?>
0 0
- 【soap】php中使用soap
- PHP使用SOAP
- PHP SOAP 使用示例
- php soap 使用实例
- php soap的使用
- php soap 使用
- PHP的soap使用
- PHP 中使用 SOAP
- PHP 使用soap
- PHP使用SOAP做webservice
- PHP 中使用 SOAP(1)
- PHP 中使用 SOAP(2)
- PHP 中使用 SOAP(1)
- PHP 中使用 SOAP(2)
- PHP 使用soap有两种方式。
- php的SOAP安装使用
- php soap nowsdl简单使用
- SOAP在PHP中的使用
- 递归函数求连通域
- 基础篇-5.27-反素数,准确对齐
- 1003. 我要通过!(20)
- 对于gabor变换和gabor小波变换理解与总结
- UVa 11076 Add Again(数学)
- php soap 使用
- PHP开发环境搭建及开发工具设置
- hive导数据到hbase
- Js判断键盘按键
- KVC在数据解析中的应用
- 安装配置Oracle GoldenGate Director监控goldengate进程
- js放烟花效果,刚从某个网站扒下来的
- 找出数组中第一个重复出现的数
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener