【原】原生态手写wsdl文件_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【原】原生态手写wsdl文件_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7007字,纯文字阅读大概需要11分钟。
内容图文
<span <span 1 <span <<span wsdl:definitions <span 2 <span xmlns:soap<span ="http://schemas.xmlsoap.org/wsdl/soap/" <span 3 <span xmlns:tm<span ="http://microsoft.com/wsdl/mime/textMatching/" <span 4 <span xmlns:soapenc<span ="http://schemas.xmlsoap.org/soap/encoding/" <span 5 <span xmlns:mime<span ="http://schemas.xmlsoap.org/wsdl/mime/" <span 6 <span xmlns:tns<span ="http://tempuri.org/Test/" <span 7 <span xmlns:s<span ="http://www.w3.org/2001/XMLSchema" <span 8 <span xmlns:soap12<span ="http://schemas.xmlsoap.org/wsdl/soap12/" <span 9 <span xmlns:http<span ="http://schemas.xmlsoap.org/wsdl/http/" <span 10 <span targetNamespace<span ="http://tempuri.org/Test/" <span 11 <span xmlns:wsdl<span ="http://schemas.xmlsoap.org/wsdl/" <span 12 <span </<span wsdl:definitions<span 其中,targetNamespace="http://tempuri.org/Test/"和xmlns:tns="http://tempuri.org/Test/"共同指定了本文件中的自定义标签和属性的命名空间。 这两个属性的值必须完全相同,字符串"Test"可以修改,不同的WebService有不同的值。xmlns:tns中的tns也可以修改成其他的值,修改后下面使用的地方必须与其保持一致。
<span 根标签下面主要包括五个部分的内容,分别是:类型定义、消息定义、端口定义、绑定和服务。下面分别进行介绍:
<span 1、类型定义。这部分内容包含在一个wsdl:types标签中,主要定义消息中需要用到的数据类型, 采用W3C XML模式内置类型作为其基本类型系统 。关于数据类型的介绍,可以参考这篇文章:http://www.cnblogs.com/newsouls/archive/2011/10/28/2227765.html。
<span wsdl:types标签下有一个s:schema子标签,所有自定义数据类型都放在这个子标签下。示例代码如下:
<span <span 1 <span <<span wsdl:types <span 2 <span <<span s:schema <span elementFormDefault<span ="qualified" <span targetNamespace<span ="http://tempuri.org/Test/" <span 3 <span <<span s:complexType <span name<span ="DepartmentInfo" <span 4 <span <<span s:sequence <span 5 <span <<span s:element <span minOccurs<span ="1"<span maxOccurs<span ="1"<span name<span ="index"<span type<span ="s:int" <span 6 <span <<span s:element <span minOccurs<span ="1"<span maxOccurs<span ="1"<span name<span ="id"<span type<span ="s:string" <span 7 <span <<span s:element <span minOccurs<span ="1"<span maxOccurs<span ="1"<span name<span ="name"<span type<span ="s:string" <span 8 <span </<span s:sequence <span 9 <span </<span s:complexType <span 10 <span </<span s:schema <span 11 <span </<span wsdl:types
<span 2、消息定义。用于定义接口的传入消息和传出消息。所有消息的定义都放在一个wsdl:message标签中,name属性用于指定消息的名称,后面定义端口时会用到该属性。wsdl:message标签下可以有若干个wsdl:part标签,每个wsdl:part标签对应一个参数。示例代码如下:
<span <span 1 <span <<span wsdl:message <span name<span ="addIn" <span 2 <span <<span wsdl:part <span name<span ="param1"<span type<span ="s:int" <span 3 <span <<span wsdl:part <span name<span ="param2"<span type<span ="s:int" <span 4 <span </<span wsdl:message <span 5 <span <<span wsdl:message <span name<span ="addOut" <span 6 <span <<span wsdl:part <span name<span ="Body"<span type<span ="s:int" <span 7 <span </<span wsdl:message
<span 3、端口定义。用于定义服务提供的接口。所有接口都在wsdl:portType标签中定义,name属性用于指定端口的名称,后面绑定时需要用到该属性。每个接口用一个wsdl:operation标签定义,name属性指定接口的名称,一般与php中定义的接口名称相同。输入消息和输出消息则通过其子标签wsdl:input和wsdl:output来指定,这两个标签的message属性值需要指定为上面已经定义好的wsdl:message标签的name属性的值。示例代码如下:
<span <span 1 <span <<span wsdl:portType <span name<span ="TestPortType" <span 2 <span <<span wsdl:operation <span name<span ="add" <span 3 <span <<span wsdl:input <span message<span ="tns:addIn" <span 4 <span <<span wsdl:output <span message<span ="tns:addOut" <span 5 <span </<span wsdl:operation <span 6 <span </<span wsdl:portType
<span 4、绑定。用于绑定接口和协议。所有绑定关系均放在wsdl:binding标签下,name属性用于指定该绑定的名称,后面定义服务时会用到该属性;type属性需要设置为上面定义好的wsdl:portType标签的name属性的值 。如果使用SOAP消息来传输,则wsdl:binding标签下还有一个soap:binding子标签,其transport属性用于指定传输协议,一般为http://schemas.xmlsoap.org/soap/http。
<span 每一组绑定关系都是一个wsdl:operation标签,其name属性需要与端口定义中的wsdl:operation标签的name属性相同。该标签下有一个soap:operation标签,属性soapAction和style用于指定soap动作的地址和调用方式。soapAction的值为wsdl:definitions根标签中targetNamespace属性指定的命名空间加上php中定义的接口名字。style的取值有两种:document(文档)和rpc(远程过程调用)。接口的输入和输出的绑定通过wsdl:input和wsdl:output标签指定,这两个标签都有一个子标签soap:body,其use属性的取值有两种:encoded(编码方式)和literal(文字方式)。关于document、rpc、encoded和literal的具体含义,可参考这篇文章:http://blog.163.com/liuyb_94242/blog/static/4216764620132113914610/,这里不再赘述。示例代码如下:
<span <span 1 <span <<span wsdl:binding <span name<span ="TestBinding"<span type<span ="tns:TestPortType" <span 2 <span <<span soap:binding <span transport<span ="http://schemas.xmlsoap.org/soap/http" <span 3 <span <<span wsdl:operation <span name<span ="add" <span 4 <span <<span soap:operation <span soapAction<span ="http://tempuri.org/Test/add" <span style<span ="document" <span 5 <span <<span wsdl:input <span 6 <span <<span soap:body <span use<span ="literal" <span 7 <span </<span wsdl:input <span 8 <span <<span wsdl:output <span 9 <span <<span soap:body <span use<span ="literal" <span 10 <span </<span wsdl:output <span 11 <span </<span wsdl:operation <span 12 <span </<span wsdl:binding
<span 5、服务。主要用于指定上面定义的绑定的服务地址。在根标签wsdl:service下,可以有多个wsdl:port标签,其binding属性需要指定为上面定义好的wsdl:binding标签的name属性的值。wsdl:port标签下有一个soap:address的子标签,其location属性为提供WebService服务的php文件的地址。示例代码如下:
<span <span 1 <span <<span wsdl:service <span name<span ="TestService" <span 2 <span <<span wsdl:port <span name<span ="TestServicePort"<span binding<span ="tns:TestBinding" <span 3 <span <<span soap:address <span location<span ="http://192.168.1.24:80/WebService/TestService/TestService.php" <span 4 <span </<span wsdl:port <span 5 <span <<span wsdl:port <span name<span ="TestServicePort12"<span binding<span ="tns:TestBinding12" <span 6 <span <<span soap12:address <span location<span ="http://192.168.1.24:80/WebService/TestService/TestService.php" <span 7 <span </<span wsdl:port <span 8 <span </<span wsdl:service
<span 关于使用wsdl文件的注意事项,请参考我的这篇文章:【原】使用wsdl的注意事项。
http://www.bkjia.com/PHPjc/626582.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/626582.htmlTechArticle...
内容总结
以上是互联网集市为您收集整理的【原】原生态手写wsdl文件_PHP教程全部内容,希望文章能够帮你解决【原】原生态手写wsdl文件_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。