<?xml version="1.0"?>
<!-- 
	Web Services Addressing WSDL Binding Test Cases
	$Date: 2007-07-30 15:07:00 $
-->
<!--
	
	- Add XPaths for inputs and output processing
	- CR status: REQUIRED, OPTIONAL, INFORMATIONAL
	- CR documents covered: CORE, SOAP, WSDL
	- generic tagging of tests
	
-->

<testcases
	xmlns="http://www.w3.org/2002/ws/addr/testsuite/testcases/">

	<ns prefix="wsa" uri="http://www.w3.org/2005/08/addressing" />
	<ns prefix="wsaw" uri="http://www.w3.org/2006/05/addressing/wsdl" />
	<ns prefix="soap11" uri="http://schemas.xmlsoap.org/soap/envelope/" />
	<ns prefix="soap12" uri="http://www.w3.org/2003/05/soap-envelope" />
	<ns prefix="wsdl11" uri="http://schemas.xmlsoap.org/wsdl/" />
	<ns prefix="wsdl20" uri="http://www.w3.org/2006/01/wsdl" />
	<ns prefix="xs" uri="http://www.w3.org/2001/XMLSchema" />
	<ns prefix="customer" uri="http://example.org/customer" />
	<ns prefix="notify" uri="http://example.org/notify" />
	<ns prefix="echo" uri="http://example.org/echo" />
	<ns prefix="alertcontrol" uri="http://example.org/alertcontrol" />
	<ns prefix="log" uri="http://www.w3.org/2002/ws/addressing/logs/" />

	<testcase xml:id="test11090" origin="" cr="REQUIRED">
		<title>request-response operation - explicit action</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>wsaTestPortTypePortExplicitAction</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message2.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message3.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11100" origin="" cr="REQUIRED">
		<title>
			request-response operation - explicit action - fault if
			incorrect action received
		</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The request message contains an incorrect Action header.
							A fault message is returned on the HTTP response indicating the nature of fault.]]></description>
		<port>wsaTestPortTypePortExplicitAction</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message4.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action != 'http://example.org/action/echoIn'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message5.xml"
				name="message">
				<!-- TODO: Do we need to add check for cause of the fault ? -->
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:ActionNotSupported'))" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11101" origin="" cr="REQUIRED">
		<title>
			request-response operation - explicit fault action
		</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and fault message.
							Application fault message is returned on the HTTP response.
							The presence of correct Action header is checked on the request and fault message.]]></description>
		<port>wsaTestPortTypePortExplicitAction</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message2.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message6.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoFault'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/detail/echo:echoFault" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11130" origin="" cr="REQUIRED">
		<title>
			request-response operation - default action pattern
		</title>
		<description><![CDATA[No wsaw:Action on the input and output message of the operation. The presence of implicit Action is checked on the request and response message.]]></description>
		<port>wsaTestPortTypePortAddressingRequired</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message0.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoRequest'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message1.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11131" origin="" cr="REQUIRED">
		<title>
			request-response operation - default action pattern - fault
			if incorrect action received
		</title>
		<description><![CDATA[No wsaw:Action on the input and output message of the operation. The request message contains an incorrect Action header.
							A fault message is returned on the HTTP response indicating the nature of fault.]]></description>
		<port>wsaTestPortTypePortAddressingRequired</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message4.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action != 'http://example.org/wsaTestService2/wsaTestPortType/echoRequest'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message5.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:ActionNotSupported'))" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11132" origin="" cr="REQUIRED">
		<title>
			request-response operation - default fault action pattern
		</title>
		<description><![CDATA[No wsaw:Action on the input and fault message of the operation. Application fault message is returned on the HTTP response.
							The presence of correct Action header is checked on the request and fault message.]]></description>
		<port>wsaTestPortTypePortAddressingRequired</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="echo/soap11/message4.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoRequest'" />
			</message>
			<message from="B" to="A"
				document="echo/soap11/message10.xml" name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echo/Fault/echoFaultName'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/detail/echo:echoFault" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11133" origin="" cr="REQUIRED">
		<title>
			request-response operation - default action pattern using
			SOAPAction
		</title>
		<description><![CDATA[Normal WSDL (same as we have been using) with no action value specified and SOAPAction specified in binding.
							assertion: client sends action value the same as SOAPAction and server responds with correct response]]></description>
		<port>wsaTestPortTypePortSoapAction</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B"
				document="echo/soap11/message11.xml" name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService/echo'" />
			</message>
			<message from="B" to="A" document="echo/soap11/message1.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11135" origin="" cr="REQUIRED">
		<title>
			request-response operation - default action pattern - URN
			target namespace
		</title>
		<description><![CDATA[The WSDL has a target namespace using urn scheme. The presence of correction Action header is checked on the request and response message.]]></description>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService2:wsaTestPortType:echoRequest'" />
			</message>
			<message from="B" to="A">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService2:wsaTestPortType:echoResponse'" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11140" origin="" cr="OPTIONAL">
		<title>
			request-response operation - default action pattern - URN
			target namespace - fault if incorrect action received
		</title>
		<description><![CDATA[The WSDL has a target namespace using urn scheme. No wsaw:action is specified on the input and output message.
						  The request message contains an incorrect Action header.
						  A fault message is received on the HTTP response with approrpiate fault code/subcode.]]></description>
		<port>wsaTestPortTypePortAddressingRequired</port>
		<message-exchange type="SOAP11-HTTP-In-Out-Fault"
			addr-binding="soap11">
			<message from="A" to="B">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action != 'urn:example.org:wsaTestService2:wsaTestPortType:echoRequest'" />
			</message>
			<message from="B" to="A">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:ActionNotSupported'))" />
				<assert
					test="soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemAction/wsa:Action" />
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11141" origin="" cr="REQUIRED">
		<title>
			request-response operation - default fault action pattern -
			URN target namespace
		</title>
		<description><![CDATA[The WSDL has a target namespace using urn scheme. No wsaw:Action on the input and fault message of the operation.
							Application fault message is returned on the HTTP response. The presence of correct Action header is checked on the response message.]]></description>
		<port>wsaTestPortTypePortAddressingRequired</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService2:wsaTestPortType:echoRequest'" />
			</message>
			<message from="B" to="A">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService2:wsaTestPortType:echo:Fault:echoFaultName'" />
				<assert
					test="soap11:Envelope/soap11:Body/soap11:Fault/detail/echo:echoFault" />
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11300" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode)- Anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/anonymous. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Anonymous Request and receives an Anonymous Response on the HTTP response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11301" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Non-anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to a non-anonymous URI. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a non-anonymous Request and receives a non-anonymous Response on a new HTTP connection.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message2.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11302" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - None response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message8.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="HTTP 202 Accepted response."/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11303" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Valid anonymous ReplyTo and non-anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending valid messages with an anonymous URI in the ReplyTo header and a non-anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a Valid Anonymous ReplyTo / Non-Anonymous FaultTo Request and receives an Anonymous Response on the HTTP response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message4.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11304" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Invalid anonymous ReplyTo and non-anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending invalid, fault inducing messages with an anonymous URI in the ReplyTo header and a non-anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Invalid Anonymous ReplyTo / Non-Anonymous FaultTo Request and receives an Non-Anonymous wsa:ActionNotSupported fault on a new HTTP connection.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only-Fault"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message5.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoBad'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="wsa:ActionNotSupported fault on a new HTTP connection."/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11305" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Valid non-anonymous ReplyTo and anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending valid messages with a non-anonymous URI in the ReplyTo header and an anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a Valid Non-Anonymous ReplyTo / Anonmyous FaultTo Request and receives a Non-Anonymous Response on a new HTTP connection.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message6.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11306" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Invalid Non-Anonymous ReplyTo and anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending invalid, fault inducing messages with a non-anonymous URI in the ReplyTo header and an anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Invalid Non-Anonymous ReplyTo / Anonymous FaultTo Request and receives a wsa:ActionMismatch fault on the HTTP response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only-Fault"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message7.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoBad'"/>
      </message>
      <message from="B" to="A">
        <assert
					test="wsa:ActionMismatch fault on the HTTP response."/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11310" origin="" cr="REQUIRED">
    <title>
      wsam:Addressing with wsam:AnonymousResponses attached to wsdl:binding - Anonymous response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to an anonymous URI. The service endpoint requires WS-Addressing and requires the use of anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="AnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:AnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends an Anonymous Request and receives an Anonymous Response.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message0.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A" document="echo/soap12/message1.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11311" origin="" cr="REQUIRED">
    <title>
      wsam:Addressing with wsam:AnonymousResponses attached to wsdl:binding - None response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint requires WS-Addressing and requires the use of anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="AnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:AnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message8.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="HTTP 202 Accepted response."/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11320" origin="" cr="REQUIRED">
		<title>
			wsam:Addressing with wsam:NonAnonymousResponses attached to wsdl:binding - Non-Anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to a non-anonymous URI. The service endpoint requires WS-Addressing and requires the use of non-anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="NonAnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:NonAnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a Non-Anonymous Request and receives an Non-Anonymous Response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message2.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11321" origin="" cr="REQUIRED">
		<title>
			wsam:Addressing with wsam:NonAnonymousResponses attached to wsdl:binding - None response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint requires WS-Addressing and requires the use of non-anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="NonAnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:NonAnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message8.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="HTTP 202 Accepted response."/>
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11400" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode)- Anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/anonymous. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Anonymous Request and receives an Anonymous Response on the HTTP response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11401" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Non-anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to a non-anonymous URI. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a non-anonymous Request and receives a non-anonymous Response on a new HTTP connection.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message2.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11402" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - None response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message8.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A">
        <assert
					test="HTTP 202 Accepted response."/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11403" origin="" cr="REQUIRED">
    <title>
      Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Valid anonymous ReplyTo and non-anonymous FaultTo response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending valid messages with an anonymous URI in the ReplyTo header and a non-anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a Valid Anonymous ReplyTo / Non-Anonymous FaultTo Request and receives an Anonymous Response on the HTTP response.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message4.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A" document="echo/soap12/message1.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11404" origin="" cr="REQUIRED">
    <title>
      Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Invalid anonymous ReplyTo and non-anonymous FaultTo response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending invalid, fault inducing messages with an anonymous URI in the ReplyTo header and a non-anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Invalid Anonymous ReplyTo / Non-Anonymous FaultTo Request and receives an Non-Anonymous wsa:ActionNotSupported fault on a new HTTP connection.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Only-Fault"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message5.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoBad'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="wsa:ActionNotSupported fault on a new HTTP connection."/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11405" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Valid non-anonymous ReplyTo and anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending valid messages with a non-anonymous URI in the ReplyTo header and an anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends a Valid Non-Anonymous ReplyTo / Anonmyous FaultTo Request and receives a Non-Anonymous Response on a new HTTP connection.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message6.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11406" origin="" cr="REQUIRED">
		<title>
			Empty wsam:Addressing attached to wsdl:binding (mixed mode) - Invalid Non-Anonymous ReplyTo and anonymous FaultTo response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending invalid, fault inducing messages with a non-anonymous URI in the ReplyTo header and an anonymous URI in the FaultTo header. The service endpoint fully supports WS-Addressing without any constraints - the service endpoint uses a wsam:Addressing policy assertion <wsp:Policy wsu:Id="MixedModeEndpoint"><wsam:Addressing><wsp:Policy/></wsam:Addressing></wsp:Policy>. The client sends an Invalid Non-Anonymous ReplyTo / Anonymous FaultTo Request and receives a wsa:ActionMismatch fault on the HTTP response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only-Fault"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message7.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoBad'"/>
      </message>
      <message from="B" to="A">
        <assert
					test="wsa:ActionMismatch fault on the HTTP response."/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11410" origin="" cr="REQUIRED">
    <title>
      wsam:Addressing with wsam:AnonymousResponses attached to wsdl:binding - Anonymous response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to an anonymous URI. The service endpoint requires WS-Addressing and requires the use of anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="AnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:AnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends an Anonymous Request and receives an Anonymous Response.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message0.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A" document="echo/soap12/message1.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
      </message>
    </message-exchange>
  </testcase>

  <testcase xml:id="test11411" origin="" cr="REQUIRED">
    <title>
      wsam:Addressing with wsam:AnonymousResponses attached to wsdl:binding - None response endpoint URI
    </title>
    <description>
      <![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint requires WS-Addressing and requires the use of anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="AnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:AnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
    </description>
    <port>IEchoString</port>
    <message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
      <message from="A" to="B" document="echo/soap12/message8.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="HTTP 202 Accepted response."/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11420" origin="" cr="REQUIRED">
		<title>
			wsam:Addressing with wsam:NonAnonymousResponses attached to wsdl:binding - Non-Anonymous response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to a non-anonymous URI. The service endpoint requires WS-Addressing and requires the use of non-anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="NonAnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:NonAnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a Non-Anonymous Request and receives an Non-Anonymous Response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message2.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message3.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11421" origin="" cr="REQUIRED">
		<title>
			wsam:Addressing with wsam:NonAnonymousResponses attached to wsdl:binding - None response endpoint URI
		</title>
		<description>
			<![CDATA[This scenario covers the case of a client sending messages with the response endpoint URI set to http://www.w3.org/2005/08/addressing/none. The service endpoint requires WS-Addressing and requires the use of non-anonymous responses - the service’s wsam:Addressing assertion is <wsp:Policy wsu:Id="NonAnonymousOnlyEndpoint"><wsam:Addressing><wsp:Policy><wsam:NonAnonymousResponses/></wsp:Policy></wsam:Addressing></wsp:Policy>. The client sends a None Request and receives an HTTP 202 Accepted response.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Only"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message8.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
			</message>
			<message from="B" to="A">
				<assert
					test="HTTP 202 Accepted response."/>
			</message>
		</message-exchange>
	</testcase>
		
	<testcase xml:id="test11500" origin="" cr="REQUIRED">
		<title>
			Explicit Action Association
		</title>
		<description>
			<![CDATA[This scenario covers the case of a WSDL document which explicitly defines the WS-Addressing action for each message. The wsdl:portType element in the WSDL would appear as follows: <wsdl:portType name="IEchoString"> <wsdl:operation name="Echo"> <wsdl:input wsam:Action="http://tempuri.org/IEchoString/Echo" message="tns:IEchoString_Echo_InputMessage"/> <wsdl:output wsam:Action="http://tempuri.org/IEchoString/EchoResponse" message="tns:IEchoString_Echo_OutputMessage"/> </wsdl:operation> </wsdl:portType>. A client generated from a WSDL that contained the XML fragment above and that is connected to an endpoint defined by the port type above must have the highlighted input action above in its wsa:Action header. The endpoints must respond with a message that has the highlighted output action in its wsa:Action header. See the Anonymous Request and Anonymous Response messages as an example.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
		</message-exchange>
	</testcase>

	<testcase xml:id="test11600" origin="" cr="REQUIRED">
		<title>
			Explicit Action Association, Multiple Operations
		</title>
		<description>
			<![CDATA[This scenario covers the case of a WSDL document with a single wsdl:portType element. The wsdl:portType element contains two operations as follows:
         <wsdl:portType name="IEchoString">
          <wsdl:operation name="Echo">
            <wsdl:input wsam:Action="http://tempuri.org/IEchoString/Echo" message="tns:IEchoString_Echo_InputMessage"/>
            <wsdl:output wsam:Action="http://tempuri.org/IEchoString/EchoResponse" message="tns:IEchoString_Echo_OutputMessage"/>
          </wsdl:operation> 
          <wsdl:operation name="EchoToInt">
            <wsdl:input wsam:Action="http://tempuri.org/IEchoString/EchoToInt" message="tns:IEchoString_Echo_InputMessage"/>
            <wsdl:output wsam:Action="http://tempuri.org/IEchoString/EchoToIntResponse" message="tns:IEchoString_EchoToInt_OutputMessage"/>
          </wsdl:operation>
         </wsdl:portType>.
         Since wsdl:input element’s message attribute has the same value for both operations, the request body will be the same. The endpoint will have to dispatch the request correctly based on the wsa:Action header only and respond with a message that has the right endpoint’s action and body. The first message sent by this scenario will carry action http://tempuri.org/IEchoString/Echo and expect action http://tempuri.org/IEchoString/EchoResponse in return. The second message sent by this scenario will carry action http://tempuri.org/IEchoString/EchoToInt and expect action http://tempuri.org/IEchoString/EchoToIntResponse in return.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoToInt'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoToIntResponse'"/>
			</message>
		</message-exchange>
	</testcase>
	
	<testcase xml:id="test11700" origin="" cr="REQUIRED">
		<title>
			Default Action Association, Multiple Operations
		</title>
		<description>
			<![CDATA[This scenario covers the case of a WSDL document with a single wsdl:portType element. The wsdl:portType elements contains two operations as follows:
         
         <wsdl:portType name="IEchoString">
          <wsdl:operation name="Echo">
            <wsdl:input name="Echo" message="tns:IEchoString_Echo_InputMessage"/>
            <wsdl:output name="EchoResponse" message="tns:IEchoString_Echo_OutputMessage"/>
          </wsdl:operation>
          <wsdl:operation name="EchoToInt">
            <wsdl:input name="EchoToInt" message="tns:IEchoString_Echo_InputMessage"/>
            <wsdl:output name="EchoToIntResponse" message="tns:IEchoString_EchoToInt_OutputMessage"/>
          </wsdl:operation>
         </wsdl:portType>
            
         The reasoning for this scenario is identical as for scenario 2.2. The only difference is that the wsa:Action header is now inferred from the WSDL. The first message sent by this scenario will carry action http://tempuri.org/IEchoString/Echo/Echo and expect action http://tempuri.org/IEchoString/EchoResponse/EchoResponse in return. The second message sent by this scenario will carry action http://tempuri.org/IEchoString/EchoToInt/EchoToInt and expect action http://tempuri.org/IEchoString/EchoToIntResponse/EchoToIntResponse in return.]]>
		</description>
		<port>IEchoString</port>
		<message-exchange type="SOAP12-HTTP-In-Out"
			addr-binding="soap12">
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/Echo'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoResponse'"/>
			</message>
			<message from="A" to="B" document="echo/soap12/message0.xml" name="message">
        <assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoToInt'"/>
      </message>
      <message from="B" to="A" document="echo/soap12/message1.xml" name="message">
				<assert
					test="soap12:Envelope/soap12:Header/wsa:Action = 'http://tempuri.org/IEchoString/EchoToIntResponse'"/>
			</message>
		</message-exchange>
	</testcase>

    <testcase xml:id="test11800" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr1.xml" cr="REQUIRED">
		<title>
			EPR containing an empty wsa:Metadata element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing an empty wsa:Metadata element:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
	            xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
	            <wsa:Address>
		            http://www.w3.org/2005/08/addressing/anonymous
	            </wsa:Address>
	            <wsa:Metadata></wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11801" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr2.xml" cr="REQUIRED">
		<title>
			EPR containing a wsa:Metadata element containing just a wsam:InterfaceName element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing a wsa:Metadata element containing just a wsam:InterfaceName element:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
	            xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
	            <wsa:Address>
		            http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
	            <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
		            <wsam:InterfaceName>test:wsamTest3</wsam:InterfaceName>
	            </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11802" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr3.xml" cr="REQUIRED">
		<title>
			EPR containing a wsa:Metadata element containing just a wsam:ServiceName element.
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing a wsa:Metadata element containing just a wsam:ServiceName element.:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
	            xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
	            <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11803" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr4.xml" cr="REQUIRED">
		<title>
			EPR containing a wsa:Metadata element containing a wsam:ServiceName element with an EndpointName attribute
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing a wsa:Metadata element containing a wsam:ServiceName element with an EndpointName attribute:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:ServiceName EndpointName="wsamTest2SOAP">test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11804" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr5.xml" cr="REQUIRED">
		<title>
			EPR containing a wsa:Metadata element containing both a wsam:InterfaceName element and a wsam:ServiceName element with an EndpointName attribute.
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing a wsa:Metadata element containing both a wsam:InterfaceName element and a wsam:ServiceName element with an EndpointName attribute:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:InterfaceName>test:wsamTest2</wsam:InterfaceName>
                    <wsam:ServiceName EndpointName="wsamTest2SOAP">test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11805" origin="../documents/EPRs-for-Section2_1-Interop/mandatory/epr6.xml" cr="REQUIRED">
		<title>
			EPR containing a wsa:Metadata element with a valid wsdli:wsdlLocation attribute

		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR a wsa:Metadata element with a valid wsdli:wsdlLocation attribute:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/"
                    xmlns:wsdli="http://www.w3.org/ns/wsdl-instance"
                    wsdli:wsdlLocation="http://www.example.org/wsamTest/ http://people.apache.org/~davidillsley/wsamTest/wsamTest.wsdl">
                    <wsam:InterfaceName>test:wsamTest2</wsam:InterfaceName>
                    <wsam:ServiceName EndpointName="wsamTest2SOAP">test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor can successfully extract WS-Addressing Core defined values (e.g. [address]) from an EPR]]>
		</description>
	</testcase>

    <testcase xml:id="test11810" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr1.xml" cr="OPTIONAL">
		<title>
			Invalid EPR containing the wsa:Metadata element with more than one wsam:InterfaceName element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an Invalid EPR containing the wsa:Metadata element with more than one wsam:InterfaceName element:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:InterfaceName>test:wsamTest3</wsam:InterfaceName>
                    <wsam:InterfaceName>test:wsamTest3</wsam:InterfaceName>
                </wsa:Metadata>
            </wsa:EndpointReference>
            
         This scenario shows that the processor faults when processing an EPR which does not conform to the WS-Addressing Metadata specification.
]]>
		</description>
	</testcase>


    <testcase xml:id="test11811" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr2.xml" cr="OPTIONAL">
		<title>
			Invalid EPR containing the wsa:Metadata element with more than one wsam:ServiceName element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an Invalid EPR containing the wsa:Metadata element with more than one wsam:ServiceName element:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor faults when processing an EPR which does not conform to the WS-Addressing Metadata specification.
]]>
		</description>
	</testcase>

    <testcase xml:id="test11812" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr3.xml" cr="OPTIONAL">
		<title>
			EPR containing the wsa:Metadata contains a wsam:InterfaceName element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing the wsa:Metadata contains a wsam:InterfaceName element and the value contained is extracted.:

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor extracts the wsam:Metadata from conforming EPRs.]]>
		</description>
	</testcase>

    <testcase xml:id="test11813" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr4.xml" cr="OPTIONAL">
		<title>
			EPR containing the wsa:Metadata contains a wsam:ServiceName element
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing the wsa:Metadata contains a wsam:ServiceName element and the value contained is extracted.

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor extracts the wsam:Metadata from conforming EPRs.]]>
		</description>
	</testcase>

    <testcase xml:id="test11814" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr5.xml" cr="OPTIONAL">
		<title>
			EPR containing the wsa:Metadata contains a wsam:InterfaceName and wsam:ServiceName element.
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing wsa:Metadata contains a wsam:InterfaceName and wsam:ServiceName element and the values contained are extracted.

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:InterfaceName>test:wsamTest2</wsam:InterfaceName>
                    <wsam:ServiceName>test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor extracts the wsam:Metadata from conforming EPRs.]]>
		</description>
	</testcase>

    <testcase xml:id="test11815" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr6.xml" cr="OPTIONAL">
		<title>
			EPR containing the wsa:Metadata contains a wsam:InterfaceName and a wsam: ServiceName element with an EndpointName attribute.
		</title>
		<description>
<![CDATA[This scenario covers the case of an EPR containing wsa:Metadata contains a wsam:InterfaceName and a wsam: ServiceName element with an EndpointName attribute and the valuse contained are extracted.

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/">
                    <wsam:InterfaceName>test:wsamTest2</wsam:InterfaceName>
                    <wsam:ServiceName EndpointName="wsamTest2SOAP">test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor extracts the wsam:Metadata from conforming EPRs.]]>
		</description>
	</testcase>

    <testcase xml:id="test11816" origin="../documents/EPRs-for-Section2_1-Interop/optional/epr7.xml" cr="OPTIONAL">
		<title>
			EPR containing the wsa:Metadata contains a wsam:ServiceName element with an EndpointName attribute and the related WSDL is referenced by the wsdi:wsdlLocation attribute.
		</title>
		<description>
			<![CDATA[This scenario covers the case of an EPR containing wsa:Metadata contains a wsam:ServiceName element with an EndpointName attribute and the related WSDL is referenced by the wsdi:wsdlLocation attribute.The name of the binding from the WSDL document referenced using
the wsam:ServiceName and EndpointName is extracted.

            <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
                xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                <wsa:Address>
                    http://www.w3.org/2005/08/addressing/anonymous
                </wsa:Address>
                <wsa:Metadata xmlns:test="http://www.example.org/wsamTest/"
                    xmlns:wsdli="http://www.w3.org/ns/wsdl-instance"
                    wsdli:wsdlLocation="http://www.example.org/wsamTest/ http://people.apache.org/~davidillsley/wsamTest/wsamTest.wsdl">
                    <wsam:InterfaceName>test:wsamTest2</wsam:InterfaceName>
                    <wsam:ServiceName EndpointName="wsamTest2SOAP">test:wsamTest2SOAP</wsam:ServiceName>
                </wsa:Metadata>
            </wsa:EndpointReference>

         This scenario shows that the processor extracts the wsam:Metadata from conforming EPRs.]]>
		</description>
	</testcase>
	
	<testcase xml:id="test21000" origin="" cr="REQUIRED">
		<title>request-response operation - explicit action</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message1.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/request'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message2.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/response'" />
			</message>
		</message-exchange>
	</testcase>
	<testcase xml:id="test21010" origin="" cr="REQUIRED">
		<title>request-response operation (fault thrown) - explicit action</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message1.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/request'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message3.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/fault'" />
			</message>
		</message-exchange>
	</testcase>
	<testcase xml:id="test21020" origin="" cr="REQUIRED">
		<title>request-response operation - default action</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message4.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/ServiceInterface/echoRequest'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message5.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/ServiceInterface/echoResponse'" />
			</message>
		</message-exchange>
	</testcase>
	<testcase xml:id="test21030" origin="" cr="REQUIRED">
		<title>request-response operation (fault thrown) - default action</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message4.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/ServiceInterface/echoRequest'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message6.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/echo/ServiceInterface/echoResponse/echoFaultName'" />
			</message>
		</message-exchange>
	</testcase>
		<testcase xml:id="test21040" origin="" cr="REQUIRED">
		<title>request-response operation - default action (urn target namspace)</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message7.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService3:ServiceInterface:echoRequest'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message8.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService3:ServiceInterface:echoResponse'" />
			</message>
		</message-exchange>
	</testcase>
	<testcase xml:id="test21050" origin="" cr="REQUIRED">
		<title>request-response operation (fault thrown) - default action (urn target namspace)</title>
		<description><![CDATA[An explicit wsaw:Action is specified on the input and output message.
							The presence of correct Action header is checked on the request and response message.]]></description>
		<port>ServiceInterface</port>
		<message-exchange type="SOAP11-HTTP-In-Out"
			addr-binding="soap11">
			<message from="A" to="B" document="wsdl20/messages-echo/message7.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService3:ServiceInterface:echoRequest'" />
			</message>
			<message from="B" to="A" document="wsdl20/messages-echo/message9.xml"
				name="message">
				<assert
					test="soap11:Envelope/soap11:Header/wsa:Action = 'urn:example.org:wsaTestService3:ServiceInterface:echoResponse:echoFaultName'" />
			</message>
		</message-exchange>
	</testcase>
</testcases>
