wsdl说明书
WSDL文档的结构实例解析
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.jsoso.com/wstest"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.jsoso.com/wstest"
name="Example"> <definitions>定义了文档中用到的各个xml元素的namespace缩写,也界定了本文档自己的targetNamespace="http://www.jsoso.com/wstest",这意味着其它的XML要引用当前XML中的元素时,要声明这个namespace。注意xmlns:tns="http://www.jsoso.com/wstest"这个声明,它标示了使用tns这个前缀指向自身的命名空间 <types>
<xsd:schema>
<xsd:import namespace="http://www.jsoso.com/wstest" schemaLocation="http://localhost:8080/hello?xsd=1"></xsd:import>
</xsd:schema>
</types> <types>数据类型定义,为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型, schemaLocation="http://localhost:8080/hello?xsd=1"是我们自定义的Java对象类型,点击这个链接,可以看到接口的具体内容,和对象的具体内容 <message name="toSayHello">
<part name="userName" type="xsd:string"></part>
</message>
<message>定义了函数的参数,每个<part>子元素都和某个参数相符,
<portType name="Example">
<operation name="toSayHello" parameterOrder="userName"> </operation>
</portType> <portType>描述一个 web service、可被执行的操作,以及相关的消息,name属性对应Java中的一个服务类的类名 <operation>描述一个web service的服务方法,name属性表示服务方法名,parameterOrder属性表示方法的参数顺序,使用空格符分割多个参数, <binding name="ExamplePortBinding" type="tns:Example">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"></soap:binding>
<operation name="toSayHello">
<soap:operation soapAction="sayHello"></soap:operation>
<input>
<soap:body use="literal" namespace="http://www.jsoso.com/wstest"></soap:body>
</input>
<output>
<soap:body use="literal" namespace="http://www.jsoso.com/wstest"></soap:body>
</output>
</operation>
</binding> <binding>描述协议、序列化和编码的地方,
<soap:binding>的transport和style属性定义了Web Service的通讯协议HTTP和SOAP的请求风格RPC。
<operation>子标签将portType中定义的operation同SOAP的请求绑定,定义了操作名称soapAction,输出输入参数和异常的编码方式及命名空间。
<service name="Example">
<port name="ExamplePort" binding="tns:ExamplePortBinding">
<soap:address location="http://localhost:8080/hello"></soap:address>
</port>
</service>
</service> 即服务视图,name属性用来区分不同的service
</definitions>
如何阅读wsdl与客户端程序对应?
1.先找到service标签,在找到binding属性
2.找到binding标签,在找到type属性
3.找到portType标签,可以看到发布的服务方法
wsdl说明书的更多相关文章
- WSDL阅读方法
我们以天气预报WebService服务为例,来看看怎么阅读一个wsdl文档. 打开一个wsdl文档后,先看底部. binding在这里: portType在这里: 好了,看了上面的,我们来说说wsdl ...
- WSDL的学习
1.WSDL是什么? 2.wsdl说明书结构 拿到说明书,从下往上看, 图2-1 port:为端点 binding:绑定 图2-2 type属性----->找到portType标签 operat ...
- 10_Jaxws使用自定义pojo发布服务
[简述] 查询三天的天气信息(天气概况.日期.温度),测试jaxws是否支持自定义pojo发布服务. [开发过程] 服务端: 1.自定义pojo(天气概况.日期.温度) 2.开发SEI接口及实现类 3 ...
- webservices(一)
---完全摘自网络 什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 1:从WebSer ...
- WebService第一天
WebService第一天 [课程安排]: 整体安排:2天: 第一天:webservice入门,JDK规范和实现:jax-ws,相关概念 第二天:CXF框架,和spring的集成开发.Hessian的 ...
- webService详解(一)
[sql] 什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 1:从WebServi ...
- webservice之jax-ws实现方式
1.什么是webservice? webservice是一种远程资源调用技术,它的实现方式主要分为两种,第一种是jaxws方式,它是面向方法的,它的数据类型是xml是基于soap实现传输:第二种是ja ...
- webservice(pers)
1. Java远程方法调用 Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接 ...
- 2、Web Service-术语
1.Java中的Web Service规范 三种规范:JAXM&SAAJ.JAX-WS(JAX-RPC).JAX-RS. 三要素:soap,wsdl,uddi 1. Jaxws(掌握) JAX ...
随机推荐
- Docker+OpenvSwitch搭建VxLAN实验环境
一.概述 1.环境:我这里是2台linux机器(host1和host2),发行版是kali2.0, ...
- 欲哭无泪的@Autowired注入对象为NULL
欲哭无泪啊...一下午的时间就这么被浪费了...一个基于spring mvc和spring data jpa的小项目,当我写完一个controller的测试用例后,一运行却报空指针,跟了下是一个dao ...
- 微信公众平台C# SDK:Senparc.Weixin.MP.dll
https://github.com/Senparc/WeiXinMPSDK [转] http://www.cnblogs.com/szw/archive/2013/01/13/senparc-wei ...
- CF721C. Journey[DP DAG]
C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input ou ...
- 第15章 设备无关位图_15.1 DIB文件格式
15.1 DIB文件格式(一种文件格式,扩展名为BMP) 15.1.1 OS/2风格的DIB 文件格式 字段 说明 文件头 (BITMAPFILEHEADER) 1.共14个字节 2.缩写建议用bmf ...
- LinkedList子类与Queue接口
LinkedList表示的是一个链表的操作类.定义如下: public class LinkedList<E> extends AbstractSequentialList<E> ...
- rpc使用举例
#server.py from SimpleXMLRPCServer import SimpleXMLRPCServer def add(x,y): return x+y server=SimpleX ...
- C语言: 创建数组的几种方法
创建数组有三种方法 1.声明一个数组,声明时用常量表达式指定数组维数,然后可以用数组名访问数组元素 2.声明一个变长数组,声明时用变量表达式指定数组的维数,C99支持 3.声明一个指针,调用mallo ...
- cocoapod
更新代码: sudo gem install -n /usr/local/bin cocoapods --pre ex: The dependency `` is not used in any co ...
- 用 C# 轻松读取、改变文件的创建、修改、访问时间
创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt&q ...