Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。
目录
<script type="text/javascript"></script>
<script type="text/javascript"></script>
万维网技术教程 http://www.w3course.net
w3school 在线教程 http://www.w3school.com.cn/wsdl/wsdl_intro.asp
Class: Passport.php
class Passport { const E_USERNAME_INVALID = 1; public $username; public $passwd; public $emai; public $verifycode; /** * user register service * * @param string $username * @param string $passwd * @param string $email * @param string $verifycode * * @return boolean */ public function register($username, $passwd, $email, $verifycode){ // here is register code return $username. "\n" . $passwd . "\n" . $email . "\n" . $verifycode; } }
WSDL: PassportSerivice.wsdl
<?xml version='1.0' encoding='UTF-8'?> <!-- WSDL file generated by Zend Studio. --> <definitions name="Passport" targetNamespace="urn:Passport" xmlns:typens="urn:Passport" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="register"> <part name="username" type="xsd:string"/> <part name="passwd" type="xsd:string"/> <part name="email" type="xsd:string"/> <part name="verifycode" type="xsd:string"/> </message> <message name="registerResponse"> <part name="registerReturn" type="xsd:string"/> </message> <portType name="PassportPortType"> <operation name="register"> <documentation> Enter description here... </documentation> <input message="typens:register"/> <output message="typens:registerResponse"/> </operation> </portType> <binding name="PassportBinding" type="typens:PassportPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="register"> <soap:operation soapAction="urn:PassportAction"/> <input> <soap:body namespace="urn:Passport" use="literal"/> </input> <output> <soap:body namespace="urn:Passport" use="literal"/> </output> </operation> </binding> <service name="PassportService"> <port name="PassportPort" binding="typens:PassportBinding"> <soap:address location="http://home/webservices/soap/new_passport/server.php"/> </port> </service> </definitions>
<?php $client = new SoapClient("http://home/webservices/soap/new_passport/PassportService.wsdl", array( "trace"=>1, "exceptions"=>0, "soap_version" => SOAP_1_2 ) ); $result = $client->register('hezhiqiang','loveit','[email protected]','H6mSkD'); var_dump($result); ?>
<?php require_once 'Passport.php'; $server = new SoapServer( "http://home/webservices/soap/new_passport/PassportService.wsdl" ,array( 'encoding'=>'utf-8', 'soap_version' => SOAP_1_2, 'uri' => 'Passport', 'style' => SOAP_RPC, 'use' => SOAP_LITERAL) ); $server->setClass('Passport'); $server->handle(); ?>