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(...)
领域模型如下图:
后面的学习将逐渐地构建该项目的一小部分,直到完成整个项目。java项目名取为LiveRestaurant,
每个recipe带有_R-x.x后缀。例如,第1个recipe将使用LiveRestaurant_R-1.1和
LiveRestaurant_R-1.1-Client作为server和client的项目名。
本章的目标是构建一个web服务,因此,更多是强调解释服务端代码和配置。客户端代码只是用来
检验服务端的功能,客户端的更多知识将在后面的章节学习。
相关推荐
1. **JAX-WS(Java API for XML Web Services)**:是Java平台上的一个API,用于创建和消费Web服务,支持SOAP协议。它包括两个子项目:JAX-RPC(Java API for XML-RPC)和JAX-WS。 2. **JAX-RS(Java API for ...
【标题】:“实战Web Service —— 使用Apache CXF开发Web服务的教程” 【内容详解】: Web服务是一种基于开放标准的、平台无关的接口技术,它允许不同系统间的应用程序进行交互。Apache CXF是一个开源的Java框架,...
### Web Services开发——Java Web Services教程解析 #### 一、引言 随着互联网技术的不断发展,Web服务(Web Services)已经成为构建分布式应用的关键技术之一。它允许不同平台上的应用程序通过HTTP协议进行通信...
### Sun Web Services 设计概述与关键技术 #### 一、引言 随着互联网技术的发展和企业对应用间通信及互操作性的需求不断增长,Web服务领域迅速扩张。Web服务是一种通过标准互联网协议可编程访问的软件组件,它们为...
该方案要求所有内部或外部的应用系统在对外接口上都使用统一的对象模型——Web Services进行封装。新功能可以直接设计为Web Services,而现有功能则需要进行接口转换和封装。 为了实现服务的发现和调用,需要定义...
《Java 7 JAX-WS Web Services》是一本专为希望利用Java 7中的JAX-WS技术构建Web服务的开发者编写的实用指南。本书由Packt Publishing出版,并由资深Java咨询专家Deepak Vohra撰写。该书深入浅出地介绍了如何在...
`Call`对象用于构建SOAP请求,并通过网络发送给服务端。 #### 四、总结 通过对Axis和SOAP两种Web Service调用方式的介绍,我们可以看到,这两种方法都能有效实现Web Service的调用。Axis提供了一种更为简洁的调用...
本书《构建XML Web服务以适应Microsoft .NET平台》由Scott Short撰写,出版于2002年,共426页,旨在帮助读者理解如何利用SOAP、WSDL、UDDI和XML等协议和工具来构建强大且高性能的Web业务解决方案。 #### 目标读者 ...
### 移动设备上实现Web Services技术的研究及应用 #### 一、引言与背景 随着互联网技术的发展,人们越来越倾向于使用移动设备进行各种在线活动,包括但不限于购物、社交、娱乐等。移动商务(Mobile Commerce)的...
### JAVA™ WEB SERVICES PERFORMANCE(英文白皮书) #### 概述 随着服务导向架构(SOA)成为构建和部署复杂组合应用的行业标准,Web 服务作为 SOA 的基础技术也在不断发展,特别是在安全性、互操作性、可靠性和...
### Axis 简单说明 #### 一、概述 Axis 是 Apache 组织下的一个开源项目,用于在 Java 应用程序中实现 Web ...Axis 提供了一种简洁有效的方式来构建和管理 Web Services,大大简化了 SOAP Web Services 的开发流程。
- **构建地址簿Web服务**:提供了一个具体的示例——使用ASP创建一个简单的地址簿Web服务。 - **跨平台通信**:展示了如何通过XML-RPC让基于ASP的应用程序与运行在不同平台上的其他应用进行通信。 #### XML-RPC与...
【标题】"02.CXF功能概述_CXF发展历史和使用CXF开发WebService服务器端"主要探讨了Apache CXF框架在Web服务领域的应用及其发展历程,同时也涵盖了如何利用CXF来构建一个高效的WebService服务器端。 Apache CXF是一...
- **工具支持**:PowerBuilder 提供了一系列工具和APIs来支持Web Services的开发,包括但不限于WSDL文件的读取和生成、SOAP消息的构建与解析等功能。 - **开发流程**:开发者首先需要定义Web Services的接口并通过...
JAX-WS是Java平台上的一个核心API,用于构建和消费Web服务,它简化了SOAP(Simple Object Access Protocol)消息处理。 一、JAX-WS概述 JAX-WS是Java SE和Java EE平台中的一个关键组件,它提供了对SOAP Web服务的...
### 使用CXF发布和调用WebService之HelloWorld...WSDL(Web Services Description Language)是一种用于描述WebService的XML格式语言。它包含了服务的位置、所使用的消息格式以及如何调用这些服务的信息。 ```xml ...
- **SOAP/WebServices**:支持基于SOAP协议的Web服务开发,使得不同平台之间的数据交换变得更加容易。 #### 3. 开发模式及实践 - **原理-实例-分析模式**:本书采用了一种非常有效的教学方法——“原理-实例-分析”...