PHP中soap的用法实例
《PHP实例:PHP中soap的用法实例》要点: PHP编程本篇章节讲解PHP中soap的用法,分享给大家供大家参考.具体用法分析如下: PHP编程PHP 使用soap有两种方式. PHP编程一、用wsdl文件 PHP编程服务器端:
代码如下:
<?php
class 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> PHP编程????? ???<xsd:element name="out" type="xsd:int"></xsd:element> 客户端调用:
代码如下:
<?php
$soap = new SoapClient('http://localhost/interface/soap.wsdl'); echo $soap->Add(1,2); ?> 二、不用wsdl文件 PHP编程服务器端:
代码如下:
<?php
class 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(); ?> 客户端:
代码如下:
<?php
try{ ?$soap = new SoapClient(null,array( ???"location" => "http://localhost/interface/soap.php", ???"uri"????? => "abcd",? //资源描述符服务器和客户端必须对应 ???"style"??? => SOAP_RPC, ???"use"????? => SOAP_ENCODED ????? )); PHP编程?echo $soap->Add(1,2); PHP编程希望本文所述对大家的PHP程序设计有所赞助. 欢迎参与《PHP实例:PHP中soap的用法实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |