URL wsdl = "http://.../foo.wsdl"; XMLDocument body; // created elsewhere SoapMessage msg = new SoapMessage(wsdl, body); TransportSpecificUtility.send(msg);Thanks!
Most Web Services Platforms (WSPs) support multiple transport protocols. In fact, many support a flexible plug-in transport framework that dynamically selects the transport protocol at runtime based on WSDL or configuration information. In particular, most Java WSPs support JMS protocols.Products that support a plug-in transport framework include Apache Axis, Cape Clear, IONA Artix, Novell exteNd, Oracle 10g, Systinet WASP and webMethods Glue. (and I'm sure there are others)
But the industry hasn't defined standards that enable interoperability when using protocols other than HTTP. And in particular, .NET doesn't support JMS protocols.
This is the primary reason why the industry is defining reliability standards for Web services. These standards will enable reliable messaging without requiring utilization of a third-party reliable messaging service -- the SOAP runtime will supply built-in store and forward capabilities. There are two active efforts underway:
- OASIS WS-Reliability ( http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm)
- BEA/IBM/Microsft/Tibco WS-ReliableMessaging ( ftp://www6.software.ibm.com/software/developer/library/ws-reliablemessaging200403.pdf)
Both specifications were recently updated. OASIS WS-Reliability was just voted as a Committee Draft -- the last stage before becoming a formal OASIS Standard.
Now -- as for products...
I expect that Oracle and Sun will eventually release products that support WS-Reliability. Meanwhile BEA, IBM, Microsoft, and Tibco will release products that support WS-ReliableMessaging. At some point in the future, we'd all like to see these specifications converge, but for now, you need to pick one.
I understand that Cape Clear and Systinet already have implementations of both specifications.
Another alternative is to use a Web services management (WSM) product that supports reliability. These products intercept the HTTP messages and tunnel them in a reliable messaging protocol. Take a look at Flamenco Networks, Infravio and Blue Titan.
Dig Deeper on Topics Archive
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading