使用php编写WebService时,有两种方式:
1、不使用wsdl文件。采用这种方式时,只有php脚本能访问WebService。
2、使用wsdl文件。采用这种方式时,无论哪个平台,采用什么语言,都可以通过wsdl文件来访问WebService。wsdl文件就相当于Client端和Server端之间的通信契约。另外,在wsdl文件中还可以指定消息传输的方式,比如Soap、HTTP GET、HTTP POST等。
下面主要介绍如何手写一个wsdl文件。
wsdl文件其实就是一个xml格式的纯文本文件。它有一个根标签wsdl:definitions,在其属性中指定了用到的命名空间。为了便于以后扩展,建议将以下的命名空间全部加上。
1 <wsdl:definitions 2 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 3 xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 4 xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 5 xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 6 xmlns:tns="http://tempuri.org/Test/" 7 xmlns:s="http://www.w3.org/2001/XMLSchema" 8 xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 9 xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"10 targetNamespace="http://tempuri.org/Test/"11 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">12 </wsdl:definitions>