SOAP
协议定义了在
Web Services
之间传递消息的规范格式,在此基础上
Services
之间的消息交换将不再受到各种不同底层
(
传输层
)
的传输协议的影响,但是在
SOAP
协议中并没有定义如何寻址一个
Web Services
。如果把
Web Services
的寻址功能交由特定的传输协议来实现,那么
SOAP
协议为
Web Services
的
Loosely Coupled
所做的贡献也就大打折扣。这个现象并不奇怪,而且长期以来广泛存在。如果你曾经查看过你访问
Web Service
时的
Http
请求,你就会发现其中的
SOAP
包并没有任何的地址信息,相反在
Http
请求中倒是包含了
Web Services
的寻址信息。比如在下面这个例子中可以看出有关
Web Services
的寻址信息全部包含在
Http
请求中。
POST /TravelAgentServices/Hotel.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.seu.edu.cn/hotel/PlaceOrder"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PlaceOrder xmlns="http://www.seu.edu.cn/hotel/">
<RoomOrder>
<RoomType>int</RoomType>
<PeopleAmount>int</PeopleAmount>
<RoomAmount>int</RoomAmount>
<Price>decimal</Price>
</RoomOrder>
</PlaceOrder>
</soap:Body>
</soap:Envelope>
之所以长期以来都采用以上的方案建立在一个前提之下,那就是大多数的
Web Services
都是通过
Http
协议来访问的。如同我们访问一个网页仅仅需要输入一个
URL,
在通过
Http
协议访问
Web Services
的时候底层的
Web Services
框架帮助我们在传输层自动的生成相应的
Http
请求,本没有什么不合适的地方。但是“大多数的
Web Services
都是通过
Http
协议来访问”这个前提已经不再适用于
SOA
的应用环境。我们知道
Loosely Coupled
是
SOA
的一个显著特征,而不依赖于特定的传输协议也是
Loosely Coupled
的重要体现之一,并且在广泛的应用中你会发现实现消息的异步传输以及消息的可靠性传输时,往往不再利用
Http
协议作为
SOAP
消息的传输协议,而会采用诸如
TCP,SMTP
等协议来传输
SOAP
消息,此时
SOAP
消息如何寻址?难道都依靠特定的传输协议来实现吗?
在
SOA
的背景下,
Web Services
寻址方式主要面临以下三个问题:
1.
访问
Web Services
将不仅仅限于某个单一的传输协议(如
Http
)。
在访问
Web Service
时可能会使用
TCP, SMTP
等等不同的底层协议。甚至在
Web Services
的请求中使用一种传输协议,而在回复中使用另一种协议。
2.
Services
之间的交互已不再是简单的
synchronous request-response
方式,在实际的应用中越来越多的发现异步式的消息交换更加适合业务的需要,在这种情况下
Response
消息如何寻址,已不再那么简单。
3.
在现实业务中,广泛存在一种现象,那就是在
Web Services
的请求消息发送后,过很长一段时间才能得到回复消息
(
如下完订单,几个小时或几天才能得到确认消息
)
。这种情况下,如何依旧将回复消息与请求时发送的消息关联上,从而维持住
Web Services
的状态?这也是以往的寻址方式所没有考虑到的问题。
而
WS-Addressing
规范则为解决以上三个问题提供了方案。
通过对
SOAP
消息的扩展,为
Web Services
的寻址问题提供更强大的支持,并且该规范也是其他各种
WS-*
规范的重要基础。
分享到:
相关推荐
WS-Addressing解决了SOA环境下Web Services寻址的关键问题,为服务间的交互提供了统一的标准。通过EPR和MAP属性,它不仅支持多传输协议,还能够适应异步消息处理的需求。WS-Addressing作为WS-*规范的基础,对于实现...
在本文中,我们将深入探讨 Laravel 开发中的一个重要扩展——`laravel-addressing`。这个包专门设计用于在 Laravel 应用程序中提供强大的地址管理功能,它为开发者提供了一个优雅的方式来处理和存储用户的地址信息。...
在本系列的第二部分中,我们将深入探讨如何扩展在第一部分中介绍的JavaScript库,以支持Web服务寻址语言(WS-Addressing)和Web服务资源框架(WS-ResourceFramework)。这两个规范对于构建复杂的分布式系统至关重要...
Cisco IOS IP Command Reference, Volume 1 of 4 -- Addressing and Services
JAX-WS API,用于Web服务开发 WSDL优先工具 Java优先支持 JAX-RS (JSR 311 1.0) API,用于RESTfulWeb服务开发 JavaScript编程模型,用于客户端和服务端开发 Maven工具 支持CORBA HTTP和JMS传输层 可嵌入的...
WS攻击者 ... WS-Addressing欺骗:请参阅 XML签名包装:请参阅 基于XML的DoS攻击:请参阅 新的自适应和智能拒绝服务攻击(AdIDoS) XML加密攻击:有关攻击和攻击的一般概述,请参见此博客文章( )。进
信息安全_数据安全_AppSecEU2016-Daniel-Kefer-Addressing-S 可信编译 漏洞分析 数据分析 定向攻击 云数据库
- **WS-Addressing – SOAP Binding**: 规定了如何将WS-Addressing信息嵌入到SOAP消息中。 #### 三、元数据规格 元数据规格定义了如何描述服务的特性及其交互方式。 - **WS-Policy**: 一种用于表达服务策略的框架...
- **WS-Addressing**:支持 WS-Addressing 标准,提高消息的可靠性。 - **EndpointInterceptor**:拦截请求和响应,进行额外的处理或验证。 综上所述,Spring Web Services 是一个功能强大且灵活的框架,它简化了 ...
Spring Web Services(简称 Spring-WS)是基于 Java 的轻量级框架,旨在简化 Web 服务的创建和使用过程。它利用了 Spring 框架的核心功能,如依赖注入和面向切面编程等特性,并且支持多种消息传输方式,如 SOAP、...
标题中的“XEP100 - EEEPROM - Addressing - CW46_continuedy91_MC9S12XEP100_源”暗示了我们正在讨论一个与微控制器编程相关的主题,特别是关于MC9S12XEP100型号的微控制器以及其EEPROM(电可擦可编程只读存储器)...
官方版本,亲测可用
官方版本,亲测可用
composer require galahad/laravel-addressing 基本用法 国家 $ country = Addressing :: country ( 'US' ); echo $ country -> getName (); // "United States" echo $ country -> getCountryCode (); // "US" ...
Autonomous addressing protocols require a distributed and self-managed mechanism to avoid address collisions in a dynamic network with fading channels, frequent partitions, and joining/leaving nodes....
PCI Express(PCIe)5.0是下一代高速接口标准,为数据传输提供了更高的带宽和更低的延迟。本文将深入探讨PCIe 5.0的关键技术改进,包括规范状态、通道损失、参考时钟抖动测量以及通道解决方案空间。...
随着工业与交通运输系统变得更加复杂和自动化,安全问题变得尤为关键。本报告探讨了现代工业和交通系统中安全关键性的问题,并讨论了如何有效地解决这些关键性安全挑战。 首先,报告介绍了核心工业公司(Core ...
CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and ...
**标题**:“Networkers2009:BRKNMS-1340 - Addressing the Payment Card Industry (PCI) standard version 1.2 with Cisco Solutions” **描述**:此标题明确指出该文档是关于如何利用思科解决方案来应对支付卡...