WS-Routing Facts

This document provides facts related to WS-Routing for usage in the written part of my diploma thesis.

Content

General

  • provides a means for SOAP messages to route between multiple Web Services [On02]
  • defines how to insert routing information into the header of a SOAP message [On02]
  • routing information can be thought of as equivalent to routing tables that operate at lower layers of the OSI stack for routing IP packets [On02]
  • SOAP routing does not have to depend on routing information in the SOAP message itself. Routing can be performed for a number of reasons, including scaling a Web Services infrastructure between multiple SOAP servers, bridging between two different networking protocols, or transforming message content from one format to another. [On02]
  • imagine attacks based on SOAP routing that attempt to create SOAP "worms"

Samples

Article foundSample
Web Service Security [On02] The following code listing is an example of a SOAP message that uses WS-Routing in order to route between Web Services. It routes from the originator, via an intermediary, to an endpoint.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
		xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
		xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
		xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<SOAP-ENV:Header>
		<h:path xmlns:h="http://schemas.xmlsoap.org/rp/"
			SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"
			SOAP-ENV:mustUnderstand="1">
			<rp:action xmlns:rp="http://schemas.xmlsoap.org/rp/">
				Addition
			</rp:action>
			<rp:to xmlns:rp="http://schemas.xmlsoap.org/rp/">
				http://www.example.com/Calc
			</rp:to>
			<rp:fwd xmlns:rp="http://schemas.xmlsoap.org/rp/">
				<rp:via>http://wwww.intermediary.com/webservice</rp:via>
			</rp:fwd>
			<rp:rev xmlns:rp="http://schemas.xmlsoap.org/rp/">
				<rp:via/>
			</rp:rev>
			<rp:from xmlns:rp="http://schemas.xmlsoap.org/rp/">
				originator@example.com
			</rp:from>
			<rp:id xmlns:rp="http://schemas.xmlsoap.org/rp/">
				uuid:EC823E93-BE2B-F9DC-8BB7-CD54B16C6EC1
			</rp:id>
		</h:path>
	</SOAP-ENV:Header>
	<SOAP-ENV:Body>
		<SOAPSDK1:Add xmlns:SOAPSDK1="http://tempuri.org/message/">
			<A>1</A><B>2</B>
		</SOAPSDK1:Add>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>