欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1.构建SOAP WebServices——概述

程序员文章站 2022-06-09 12:34:23
...

SOAP被设计为语言、传输,以及平*立,它是老式中间件技术(如CORBA和DCOM)的替代技术。它也

被设计为可扩展。WS-*标准:WS-Addressing、WS-Policy、WS-Security以及等等都是建立在SOAP协议上。

 

使用SOAP、WSDL以及XML schema构建的web服务已经成为交换基于XML消息的标准。Spring Web-Services

推进了SOAP服务开发(通过提供一套完整的API和配置用于灵活的web服务创建)。

 

MessageDispatcher是Spring Web-Service的核心,它转发Web服务消息给注册的endpoint。在Spring-WS中,

请求/响应消息被包装在MessageContext对象中,该对象被传递给MessageDispatcher。当一个消息到来了,

MessageDispatcher使用request对象来得到endpoint,然后,得到endpoint的interceptors,并在它们上面调

用handleRequest方法。拦截器就是在调用endpoint的前(请求)后(响应)执行一些操作。之后,

MessageDispatcher得到相应的endpoint adapter。最后EndpointAdapter调用endpoint的方法,并将响应

转换成理想的格式并设置到MessageContext中。

 

Spring-WS只支持contract-first开发风格,也就是第一步是创建contract(XSD或WSDL)。

使用Spring-WS构建contract-first web服务的步骤如下:

1、契约的定义(XSD或WSDL)

2、创建endpoint:类(接收并处理到来的消息)

3、Spring beans和endpoint的配置

 

endpoints有两种:payload endpoints、message endpoints。

 

message endpoint能访问整个XML SOAP envelop

payload endpoint只访问一个SOAP envelop的payload部分,也就是一个SOAP envelop的body部分。

在以后的学习中,我们关注的是payload endpoints。

 

为了描述Web服务的创建过程,这里使用了简单的虚构的饭店作为业务场景,它需要接受来自客户的订单。

于是它决定发布它的OrderService组件为一个Web服务。为简单起见,只有两个操作:

String placeOrder(...)和boolean cancelOperator(...)

 

领域模型如下图:


1.构建SOAP WebServices——概述
            
    
    博客分类: webservice Spring-WS
 

后面的学习将逐渐地构建该项目的一小部分,直到完成整个项目。java项目名取为LiveRestaurant,

每个recipe带有_R-x.x后缀。例如,第1个recipe将使用LiveRestaurant_R-1.1和

LiveRestaurant_R-1.1-Client作为server和client的项目名。

 

本章的目标是构建一个web服务,因此,更多是强调解释服务端代码和配置。客户端代码只是用来

检验服务端的功能,客户端的更多知识将在后面的章节学习。

 

 

 

 

 

  • 1.构建SOAP WebServices——概述
            
    
    博客分类: webservice Spring-WS
  • 大小: 98.2 KB
相关标签: Spring-WS