WebService的几个重要点

实现一个WebService需要了解它的几个重要点(SOAP,WSDL,UDDI)

一、重要点

  • SOAP
    简单来说: SOAP = HTTP + XML 就是一个简单的数据交换协议
    客户端通过发送一个HTTP请求,这个HTTP请求里面包含一个XML,服务端接收到请求后解析这个XML然后来调用对应的服务和方法,返回对应的数据。

  • WSDL
    简单来说:WSDL就是告诉调用者应该怎么填写SOAP当中的XML文件里面的内容。服务端具体提供了什么服务,该怎么调用这个服务,该传递什么类型的参数。会返回什么类型的数据等等。

  • UDDI
    简单来说:UDDI是用于描述、发现、集成Web Service的技术。

二、WebService相关框架

  • JWS:JAVA语言对WebService服务的一种实现,可以用于开发以及发布webservice服务。
  • Axis2:一个重量级的WebService框架,功能强大。
  • CXF:一个基于XFire改造后的WebService框架,高性能,开发比较方便。

三、WebService接口和http接口的区别

WebService相对Http (post/get)

  • 1.接口中实现的方法和要求参数一目了然
  • 2.不用担心大小写问题
  • 3.不用担心中文urlencode问题
  • 4.代码中不用多次声明认证(账号,密码)参数
  • 5.传递参数可以为数组,对象等…
  • 6.由于要解析XML,效率相对较慢。
  • 7.在对参数要求不严谨的情况下完全可以由HTTP请求代替。

四、WSDL结构

  WSDL(Web Services Description Language), web服务描述语言,他是webservice服务端使用说明书,说明服务端接口、方法、参数和返回值,WSDL是随服务发布成功,自动生成,无需编写。

1、文档结构

  • Service:相关端口的集合,包括其关联的接口、操作、消息等。
  • Binding:特定端口类型的具体协议和数据格式规范
  • portType: 服务端点,描述 web service可被执行的操作方法,以及相关的消息,通过binding指向portType
  • message: 定义一个操作(方法)的数据参数
  • types: 定义 web service 使用的全部数据类型

2、阅读方式

  WSDL文档应该从下往上阅读。

  • 1.先看service标签,看相应port的binding属性,然后通过值查找上面的binding标签。
  • 2.通过binding标签可以获得具体协议等信息,然后查看binding的type属性
  • 3.通过binding的type属性,查找对应的portType,可以获得可操作的方法和参数、返回值等。
  • 4.通过portType下的operation标签的message属性,可以向上查找message获取具体的数据参数信息。

五、参考资料

1、光滑的秃头的博客https://blog.csdn.net/ycf921244819/article/details/99548243

你可能感兴趣的:(WebService的几个重要点)