Click here to Skip to main content
12,759,875 members (30,833 online)
Click here to Skip to main content
Add your own
alternative version


17 bookmarked
Posted 3 Nov 2003

An alternative transport for WSE 2.0 via MQ.

, 3 Nov 2003
Rate this:
Please Sign up or sign in to vote.
This article describes transport for web services through MQ, provided as an implementation of SOAP Transport interface of the Web Services Enhancements (WSE 2.0).


This is a part of our article that describes transport for web services through MQ. The whole article you can read here. Correct implementation of a transport allows developers to incorporate security, routing, and attachment features in their applications using this transport, without additional expenses.

Why does one need transport through MQ?

There are at least two answers to this question. The first one is a customer might want (needs) to communicate with your service through MQ (e.g. legacy application). Another answer is to provide reliable delivery of each message.

The other issue is why do we use MQ rather then MSMQ. In our particular case, the answer is: our customer wanted exactly MQ. We believe however, the same technique can be used to implement MSMQ transport.

Implementation of MQ transport

We have found that WSE 2.0: "Supports message-oriented programming model, allows implementing of peer to peer programs, or event driven applications. Web services that leverage WSE can be hosted in multiple environments including ASP.NET, standalone executables, NT Services, etc. and can communicate over alternative transports". We have decided to implement our custom transport based on MQ.

Formally, in order to implement transport through MQ, one need to provide implementation of SoapTransport interface (which is pretty small), and then register it in WSE. However, implementation evolves due to communication with MQ, transaction support, configuration options, and other useful features.

Our implementation of MQ transport consists of the following parts:

  • transport - defines means for infrastructure to transfer SOAP messages in some way between client and server
  • channel - defines a channel that uses MQ to transfer particular messages
  • listener - allows server to accept MQ requests
  • configuration - allows binding of web services to specified channels using a configuration file
  • transactions - support transactions
  • performance counters - allow monitoring MQ transport activity
  • installation classes - allow to expose MQ transport library as a separate installation unit or as a part of a bigger installation.

Read full description of these code parts and how to configure them in our whole article (see link above).


SOAP MQ Transport supports protocol agnostic conception of web services, providing device for transferring requests and responses of web services through MQ.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Arthur & Vladimir Nesterovsky
Web Developer
Israel Israel
We are two brothers Arthur and Vladimir Nesterovsky. About last seven years we are working together as a team. We are skilled software developers, you can read more about us here: . We are both have more than eight years experience in programming. We have good recommendations from our current and previous employers.

You may also be interested in...

Comments and Discussions

GeneralLink to whole article invalid Pin
Nishant S14-Mar-05 19:03
staffNishant S14-Mar-05 19:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170217.1 | Last Updated 4 Nov 2003
Article Copyright 2003 by Arthur & Vladimir Nesterovsky
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid