`
Motte2010
  • 浏览: 22332 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

WebService学习之路二

阅读更多

 

这里主要是对昨天的简单的WS示例生成的wsdl进行简单的分析。

很多节点的意思都是自己的理解,也有简单的参考外面的文档,可能名称描述不是很合理或者意思理解有误,

也有部分不明白的地方,也希望有看到的朋友指明不足的地方和我描述的疑问。感激不尽。

 

WebService学习之路一:  http://trylin.iteye.com/blog/1906819

 

二、理解WSDL

    wsdl中有类似java对象的引用关系,通过wsdl我们可以知道此服务对外的地址,方法,以及方法的输入输出参数类型等。

访问我们发布的WS http://localhost:8888/WS?wsdl 

 

 Wsdl的元素根节点是 definitions,从单词的意思可以看出是对整个wsdl文件的解释。

 xmlns:tns=http://impl.service.ws.trylin.com/  xml命名空间

 targetNamespace="http://impl.service.ws.trylin.com/".//表示下面的节点都是指向的这个命名空间

name="TestImplService"  //整个wsdl 的一个命名  这里默认是服务名  

definitions下有

<import namespace="http://service.ws.trylin.com/" location="http://localhost:8888/WS?wsdl=1"/>

这个理解为xml导入并给定命名空间,location为xml地址,下面会对这个导入的xml简单理解。

 

definitions子元素的定义主要包含两部分

<!--[if !supportLists]-->1、  <!--[endif]-->具体定义

<!--[if !supportLists]-->2、  <!--[endif]-->抽象定义

 参考:http://www.blogjava.net/baoyaer/articles/116413.html

1、具体定义

 

 通过具体定义,可以简单的看到服务对外的服务名称和服务方法。

1.1、binding 

xmlns:ns1=” http://service.ws.trylin.com/”  相当与引用一个命名空间下的xml元素

type="ns1:ITest"   type类型  ns1对应上面的空间名,表示这个ITest是属于ns1指向的空间中定义的类型

soap:binding声明将把 SOAP 作为绑定和传输服务使用  style属性可选 rpc/ document 

operation 表示服务发布的几个方法

input /output分别指的是方法的输入输入 其中soap:body use="literal"  use的取值也是可选的 literal/ encoded

关于 soap:binding中的style属性 和 soap:body中的use属性的区别,我没能理解,希望有人看懂后,指点一下

参考的链接:http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/

1.2、service 

这个节点主要是对发布服务的描述 name属性 表示对外发布的服务名称

Port 服务端口声明  binding="tns:TestImplPortBinding" 这里是指向我们之前看到的binding对象。soap:address 服务对外的地址。

 

2、抽象定义

通过抽象定义,可以具体的了解到服务对外的一些具体信息,比如包含的那些类型的数据,方法的参数,返回值等等。

找到<import namespace="http://service.ws.trylin.com/" location="http://localhost:8888/WS?wsdl=1"/>

在浏览器中输入 http://localhost:8888/WS?wsdl=1 回车



 2.1、Types

         Types表示的是类型,从xsd:import 可以看出 这里又是一个引用的一个schema

浏览器中输入schemaLocation中的 http://localhost:8888/WS?xsd=1



 <xs:element name="add" type="tns:add"/>

<xs:element name="addResponse" type="tns:addResponse"/>

这里表示的是服务对外的方法的 输入输出对象,找到引用的 tns:add  tns:addResponse

<xs:complexType name="add">

<xs:sequence>

<!—arg表示输入对象的参数 0表示顺序  arg0不便于理解,后面会介绍怎么改变参数的名称

参数类型是 type int-->

<xs:element name="arg0" type="xs:int"/>

<xs:element name="arg1" type="xs:int"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="addResponse">

<xs:sequence>

<!—return表示返回  返回类型是int -->

<xs:element name="return" type="xs:int"/>

</xs:sequence>

</xs:complexType>

这里对输入输出对象的简单描述

 

2.2、Message

Message是对服务对外方法的描述,每一个方法分输入和输出两部分

<message name="add">

<part name="parameters" element="tns:add"/>

</message>

<message name="addResponse">

<part name="parameters" element="tns:addResponse"/>

</message>

Element=”tns:add”这里把具体的描述指向了 Types中的元素。

 

3、portType

PortType  服务类的具体定义  name定义的类型名称

operation name="add" 定义的方法

<input message="tns:add"/>

<output message="tns:addResponse"/>

Input方法的输入类型 

output 方法的输入类型

 

大概的描述,自己整理起来也有点混乱的感觉

尤其是 关于 soap:binding中的style属性 和 soap:body中的use属性的区别(各位知道的话,请不要吝啬哦,打几个字,在回复中告诉我,谢谢。呵呵。。。)

关于这里,我想以后还得回过头查下相关的资料,先把全部的视频看完,在把自己的一些疑问一个个解决,

不求一次性全部理解,囫囵吞枣的过一遍,然后在仔细的再看一遍,这可能也是一种好的学习方法。

 

WebService学习之路三:http://trylin.iteye.com/blog/1908269

 

 

 

  • 大小: 62.4 KB
  • 大小: 41 KB
  • 大小: 55.8 KB
分享到:
评论

相关推荐

    Eclipse下WebService学习.doc

    【Eclipse下WebService学习】 在IT领域,WebService是一种基于开放标准的、允许不同系统之间进行交互的技术。在Eclipse这个流行的Java集成开发环境中,开发者可以方便地创建、部署和测试WebService。本文档主要介绍...

    WebService学习之路三

    【WebService学习之路三】 在IT领域,WebService是一种用于构建分布式应用程序的技术,它允许不同系统间的交互,不受平台或编程语言的限制。本篇主要聚焦于WebService的学习,通过深入理解其原理和实践,来提升我们...

    webservice学习

    在“WebService CXF学习:整合Spring框架”的主题下,我们可能将深入学习如何配置和管理CXF服务,包括创建服务端点、定义服务接口、编写服务实现、设置客户端代理,以及如何利用Spring的配置和依赖注入来简化这些...

    WebService 学习

    【WebService学习】 WebService是一种基于互联网的、松散耦合的分布式计算模型,它允许不同的系统之间进行数据交换和业务交互。这项技术的核心是利用XML(可扩展标记语言)作为数据交换的标准格式,SOAP(简单对象...

    WebService学习资料(很全)

    WebService学习资料(很全)WebService学习资料(很全)WebService学习资料(很全)WebService学习资料(很全)WebService学习资料(很全)WebService学习资料(很全)

    springboot2.0webService学习

    springboot2.0webService学习 

    WebService学习之路四

    【WebService学习之路四】 在IT领域,WebService是一种基于标准协议(如SOAP、WSDL和UDDI)的开放式网络服务,允许不同系统间的应用程序通过互联网进行通信。本篇将深入探讨WebService的学习路径,重点关注其核心...

    webservice学习资料和样例(xfire)

    webservice学习资料和样例webservice学习资料和样例webservice学习资料和样例webservice学习资料和样例webservice学习资料和样例webservice学习资料和样例

    WebService学习和了解

    WebService学习和了解 WebService的优点 SOAP是什么?WSDL是什么?

    webservice 学习的c#版本实例

    本教程以"webservice 学习的c#版本实例"为主题,将引导你深入理解Webservice的原理以及C#中实现Webservice的方法。 首先,让我们了解ASMX Web Service。ASMX是.NET Framework早期用于构建Web服务的技术,它基于SOAP...

    WebService学习总结

    WebService学习过程中,知识点的总结,和例子。

    WebService学习笔记

    **WebService学习笔记** WebService是一种基于互联网的、平台和语言无关的接口规范,它允许不同系统间的应用程序进行交互和数据共享。这项技术的核心是利用XML(可扩展标记语言)作为数据交换格式,SOAP(简单对象...

    Eclipse下WebService学习

    【Eclipse下WebService学习】 在Eclipse环境下学习和开发WebService是一项重要的技能,尤其对于Java开发者而言。WebService是一种基于标准的、平台无关的通信机制,它允许不同系统间的应用程序通过网络进行互操作。...

    java注解webservice学习第一篇

    Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,为编译器、解释器或任何其他工具提供额外的信息。在Java Web服务...通过学习和掌握这些知识,开发者可以更高效地构建和维护Web服务应用。

    webservice学习报告

    webservice学习报告,理论与实践

    WebService学习笔记0001

    【WebService学习笔记0001】 在IT领域,WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的互操作性技术,它允许不同系统间的应用程序通过网络进行通信。本学习笔记将围绕WebService的核心概念、工作原理...

    webService学习资料

    【标题】:“webService学习资料” 【描述】:“webService学习资料,内含有思维导图两张,webservice资料整理,欢饮下载。” 【标签】:“webService” 在信息技术领域,Web服务(Web Service)是一种基于互联网...

    webservice 学习资料

    webservice 学习资料webservice 学习资料webservice 学习资料

Global site tag (gtag.js) - Google Analytics