Visual Studio .NET 2003Windows 2003.NET 1.1Windows 2000Windows XP中级开发Visual StudioWindows.NETASP.NETC#
通过 MQ 实现 WSE 2.0 的替代传输。






3.13/5 (8投票s)
2003年11月4日
2分钟阅读

42710

102
本文介绍了通过 MQ 实现 Web 服务的传输,作为 Web 服务增强 (WSE 2.0) 的 SOAP 传输接口的实现。
引言
这是我们文章的一部分,介绍了通过 MQ 实现 Web 服务的传输。您可以在这里阅读整篇文章。正确地实现传输允许开发人员在他们的应用程序中使用此传输来结合安全性、路由和附件功能,而无需额外的费用。
为什么需要通过 MQ 进行传输?
至少有两个答案可以回答这个问题。第一个是客户可能希望(需要)通过 MQ 与您的服务通信(例如,遗留应用程序)。另一个答案是提供每个消息的可靠传递。
另一个问题是为什么我们使用 MQ 而不是 MSMQ。在我们的特定案例中,答案是:我们的客户正好需要 MQ。但是,我们认为,可以使用相同的技术来实现 MSMQ 传输。
MQ 传输的实现
我们发现 WSE 2.0:“支持面向消息的编程模型,允许实现对等程序或事件驱动的应用程序。利用 WSE 的 Web 服务可以在多个环境中托管,包括 ASP.NET、独立的执行文件、NT 服务等,并且可以通过替代传输进行通信”。我们决定基于 MQ 实现我们的自定义传输。
形式上,为了实现通过 MQ 的传输,需要提供 SoapTransport
接口的实现(这很小),然后将其注册到 WSE 中。但是,由于与 MQ 的通信、事务支持、配置选项和其他有用的功能,实现会不断发展。
我们的 MQ 传输实现包括以下部分
- 传输 - 定义基础设施以某种方式在客户端和服务器之间传输 SOAP 消息的方法
- 通道 - 定义一个使用 MQ 传输特定消息的通道
- 侦听器 - 允许服务器接受 MQ 请求
- 配置 - 允许使用配置文件将 Web 服务绑定到指定的通道
- 事务 - 支持事务
- 性能计数器 - 允许监视 MQ 传输活动
- 安装类 - 允许将 MQ 传输库公开为单独的安装单元或作为更大安装的一部分。
在我们的整篇文章中阅读这些代码部分的完整描述以及如何配置它们(请参阅上面的链接)。
结论
SOAP MQ 传输支持 Web 服务的协议无关概念,提供了一种通过 MQ 传输 Web 服务请求和响应的设备。