Web Service漫游记(上)——SOAP

本文介绍了Web Service的基础概念,包括UDDI、WSDL和SOAP的原理。重点讲解了SOAP协议,它是WS服务间通信的标准,具有跨平台、跨语言的优势,但可能消耗较多带宽和资源。在Java中,JAX-WS用于实现SOAP WS,分为RPC和Document两种风格。此外,文章还提供了简单的Java服务接口和客户端实现示例。
摘要由CSDN通过智能技术生成

什么是web service

web service(以下简称ws)是服务与服务,机器与机器之间交流沟通的技术,可以保证不同平台间的服务相互操作,很多不同语言开发的平台服务之前可以通过ws相互通信,这一方式使得ws可以跨平台和跨语言使用。

ws有三个重要的组成部件

  • UDDI
    UDDI是Universal Description,Discovery,Integration的缩写,是一个基于XML的框架,可以发现,描述和集成ws服务。

  • WSDL
    WSDL全称Web Service Description Language,其基于XML文件对ws服务进行描述,可以从WSDL文件中获取到服务名称、参数、服务地址等访问服务的信息,WSDL属于UDDI的一部分。

  • SOAP
    SOAP全称Simple Object Access Protocol,是ws服务之间访问的协议,此协议基于xml。

ws服务基于SOAP协议通信,也是w3c推荐的服务通信方式,SOAP定义自己的安全特性使用上安全性较高,因为服务间是通过统一的协议通信,所以也有可以跨平台和跨语言的优点,但是因为这种协议定义了比较多标准,通信时比较消耗带宽和资源,会有比较慢的缺陷,而且也只有WSDL支持SOAP协议的服务发现。

ws除了基于SOAP协议,还有RESTful风格的实践,这章节主要介绍SOAP协议的方式。

Java实现

Java中ws api分为两类JAX-WS(SOAP)和JAX-RS(RESTful),而JAX-WS也可分为两种风格分别是RPC风格和Document风格,这两种风格之间最大的不同就是RPC风格每次会发送尽量多的元素,只有复杂参数类型时候RPC风格才会对参数进行xml格式的解释,而Document风格是每次以单独一个文件发送,无论参数是否复杂类型都会以xml格式进行解释。java中主要使用javax.jws包中的注解对ws服务进行实现。

复杂类型的xml格式的解释可以通过访问types下的schemaLocation查看。

<types>
<xsd:schema>
<xsd:import namespace="http://server.rpc.ws.clo.com/" schemaLocation="http://localhost:7999/ws/rpc/hello?xsd=1"/>
</xsd:schema>
</types>

首先需要创建一个ws服务接口

@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface HelloWorldRpc {
   
      @WebMethod
      @WebResult(name = "helloStr")
      String getHelloWorldString(@WebPa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值