- From: Philippe Le Hegaret via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 09 Jul 2007 20:39:14 +0000
- To: public-ws-addressing-eds@w3.org
Update of /sources/public/2004/ws/addressing/testsuitewsdl/testcases In directory hutz:/tmp/cvs-serv25855/testcases Added Files: .htaccess Makefile Overview.html testcases.xml testcases.xsl tests.html Log Message: Moved from cvs.w3.org --- NEW FILE: testcases.xml --- <?xml version="1.0"?> <!-- Web Services Addressing WSDL Binding Test Cases $Date: 2007/07/09 20:39:12 $ --> <!-- - 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="test11010" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on binding, required=true, client send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:binding and wsdl:required attribute is set to true. The presence of WS-A headers is tested in 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="test11020" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on binding, required=true, client does not send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:binding and wsdl:required attribute is set to true. The WS-A headers are absent on the request message and a fault message is returned on the HTTP response.]]></description> <port>wsaTestPortTypePortAddressingRequired</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B" document="echo/soap11/message7.xml" name="message"> <assert test="count(soap11:Envelope/soap11:Header/wsa:Action) = 0"/> </message> <message from="B" to="A" document="echo/soap11/message8.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:MessageAddressingHeaderRequired'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11030" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on port, required=true, client send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:port and wsdl:required attribute is set to true. The presence of WS-A headers is tested in request and response message.]]></description> <port>wsaTestPortTypePortAddressingRequiredOnPort</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="test11040" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on port, required=true, client does not send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:port and wsdl:required attribute is set to true. The WS-A headers are absent on the request message and a fault is returned on the HTTP response.]]></description> <port>wsaTestPortTypePortAddressingRequiredOnPort</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B" document="echo/soap11/message7.xml" name="message"> <assert test="count(soap11:Envelope/soap11:Header/wsa:Action) = 0"/> </message> <message from="B" to="A" document="echo/soap11/message8.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:MessageAddressingHeaderRequired'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11050" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on binding, required=false, client send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:binding and wsdl:required attribute is set to false. The presence of WS-A headers is tested in request and response message.]]></description> <port>wsaTestPortTypePortAddressingNotRequired</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="test11060" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on binding, required=false, client does not send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:binding and wsdl:required attribute is set to false. The WS-A headers are absent on the request message. A response message is returned on the HTTP response. If WS-A headers are present in response then they must not be marked mustUnderstand=true.]]></description> <port>wsaTestPortTypePortAddressingNotRequired</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B" document="echo/soap11/message8.xml" name="message"> <assert test="count(soap11:Envelope/soap11:Header/wsa:Action) = 0"/> </message> <message from="B" to="A" document="echo/soap11/message9.xml" name="message"> <assert test="(count(soap11:Envelope/soap11:Header/wsa:Action) = 0) or (soap11:Envelope/soap11:Header/wsa:Action != 'http://www.w3.org/2005/08/addressing/fault')"/> <assert test="(count(soap11:Envelope/soap11:Header/wsa:Action/@soap11:mustUnderstand) = 0) or (soap11:Envelope/soap11:Header/wsa:Action/@soap11:mustUnderstand = false())"/> </message> </message-exchange> </testcase> <testcase xml:id="test11070" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on port, required=false, client send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:port and wsdl:required attribute is set to false. The presence of WS-A headers is tested in request and response message.]]></description> <port>wsaTestPortTypePortAddressingNotRequiredOnPort</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="test11080" origin="" cr="REQUIRED"> <title>request-response operation - UsingAddressing on port, required=false, client does not send addressing headers</title> <description><![CDATA[UsingAddressing appear as child of wsdl:port and wsdl:required attribute is set to false. The WS-A headers are absent on the request message. A response message is returned on the HTTP response. If WS-A headers are present in response then they must not be marked mustUnderstand=true.]]></description> <port>wsaTestPortTypePortAddressingNotRequiredOnPort</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B" document="echo/soap11/message8.xml" name="message"> <assert test="count(soap11:Envelope/soap11:Header/wsa:Action) = 0"/> </message> <message from="B" to="A" document="echo/soap11/message9.xml" name="message"> <assert test="(count(soap11:Envelope/soap11:Header/wsa:Action) = 0) or (soap11:Envelope/soap11:Header/wsa:Action != 'http://www.w3.org/2005/08/addressing/fault')"/> <assert test="(count(soap11:Envelope/soap11:Header/wsa:Action/@soap11:mustUnderstand) = 0) or (soap11:Envelope/soap11:Header/wsa:Action/@soap11:mustUnderstand = false())"/> </message> </message-exchange> </testcase> <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="test11110" origin="" cr="REQUIRED"> <title>request-response operation - action based dispatch - explicit action</title> <description><![CDATA[The wsdl:portType contain two request-response operations with same message body for the request message, different wsaw:Action values and different message bodies for the response message. assertion: confirm that the correct response body is returned based on the specified action value]]></description> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'"/> </message> <message from="B" to="A"> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11120" origin="" cr="REQUIRED"> <title>request-response operation - action based dispatch - default action pattern</title> <description><![CDATA[wsdl port type containing two req/resp operations the message body for the request is the same with default action and different response message bodies. assertion: confirm that the correct response body is returned based on the specified action value]]></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 = 'http://example.org/wsaTestService2/wsaTestPortType/echoRequest'"/> </message> <message from="B" to="A"> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'"/> </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="test11134" origin="" cr="REQUIRED"> <title>request-response operation - default action pattern using SOAPAction - fault if incorrect action received</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 incorrect action and server returns appropriate fault]]></description> <port>wsaTestPortTypePortSoapAction</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/wsaTestService/echo'"/> </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="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="test11150" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=required in WSDL, wsa:ReplyTo/wsa:Address=anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=required. The request message contains anonymous ReplyTo. A response message is returned on the HTTP response.]]></description> <port>wsaTestPortTypePortAnonymousRequired</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> </message> <message from="B" to="A"> <!-- simply prove that there is a non-fault message in the back channel --> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11160" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=required in WSDL, wsa:ReplyTo/wsa:Address=non-anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=required. The request message contains non-anonymous ReplyTo. A fault message is returned on the HTTP response with approrpiate fault code/subcode.]]></description> <port>wsaTestPortTypePortAnonymousRequired</port> <message-exchange type="SOAP11-HTTP-In-Out-Fault" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </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:InvalidAddressingHeader')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:OnlyAnonymousAddressSupported'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11161" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=required in WSDL, wsa:FaultTo/wsa:Address=non-anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=required. The request message contains non-anonymous FaultTo. A fault message is returned on the HTTP response with approrpiate fault code/subcode.]]></description> <port>wsaTestPortTypePortAnonymousRequired</port> <message-exchange type="SOAP11-HTTP-In-Out-Fault" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </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:InvalidAddressingHeader')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:OnlyAnonymousAddressSupported'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11170" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=prohibited in WSDL, wsa:ReplyTo/wsa:Address=non-anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=prohibited. The request message contains non-anonymous ReplyTo. A response message is returned on the ReplyTo address.]]></description> <port>wsaTestPortTypePortAnonymousProhibited</port> <message-exchange type="SOAP11-HTTP-In-Out-Callback" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </message> <message from="B" to="A" /> <message from="B" to="A"> <!-- simply prove that there is a non-fault message in a non-backchannel message --> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11180" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=prohibited in WSDL, wsa:ReplyTo/wsa:Address=anon, wsa:FaultTo/wsa:Address=non-anon</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=prohibited. The request message contains an anonymous ReplyTo and non-anonymous FaultTo. A fault message is returned on the FaultTo address.]]></description> <port>wsaTestPortTypePortAnonymousProhibited</port> <message-exchange type="SOAP11-HTTP-In-Out-Callback" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address) or (soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </message> <message from="B" to="A" /> <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:InvalidAddressingHeader')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:OnlyNonAnonymousAddressSupported'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11190" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=prohibited in WSDL, wsa:ReplyTo/wsa:Address=anonymous, wsa:FaultTo/wsa:Address=anon</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=prohibited. The request message contains anonymous ReplyTo and FaultTo. A fault message is returned on the TBD.]]></description> <port>wsaTestPortTypePortAnonymousProhibited</port> <message-exchange type="SOAP11-HTTP-In-Out-Callback" addr-binding="soap11"> <message from="A" to="B"> <assert test=" not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address) or soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '' or soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> <assert test=" not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address) or soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = '' or soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> </message> <message from="B" to="A" /> <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:InvalidAddressingHeader')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:OnlyAnonymousAddressSupported'))"/> </message> </message-exchange> </testcase> <testcase xml:id="test11191" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=prohibited in WSDL, wsa:ReplyTo/wsa:Address=anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=prohibited. The request message contains anonymous ReplyTo.]]></description> <port>wsaTestPortTypePortAnonymousProhibited</port> <message-exchange type="SOAP11-HTTP-In-Out-Callback" addr-binding="soap11"> <message from="A" to="B"> <assert test="soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> </message> <message from="B" to="A" > <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11200" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=optional in WSDL, wsa:ReplyTo/wsa:Address=nonanonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=optional. The request message contains non-anonymous ReplyTo. A response message is returned on the ReplyTo address.]]></description> <port>wsaTestPortTypePortAnonymousOptional</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </message> <message from="B" to="A" /> <message from="B" to="A"> <!-- simply prove that there is a non-fault message in a callback --> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11201" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=optional in WSDL, wsa:FaultTo/wsa:Address=nonanonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=optional. The request message contains non-anonymous FaultTo. Application fault message is returned on the FaultTo address.]]></description> <port>wsaTestPortTypePortAnonymousOptional</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = '')"/> <assert test="not(soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')"/> </message> <message from="B" to="A" /> <message from="B" to="A"> <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="test11210" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=optional in WSDL, wsa:ReplyTo/wsa:Address=anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=optional. The request message contains anonymous ReplyTo. A response message is returned on the HTTP response.]]></description> <port>wsaTestPortTypePortAnonymousOptional</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> </message> <message from="B" to="A"> <!-- simply prove that there is a non-fault message in the backchannel --> <assert test="soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/wsaTestService2/wsaTestPortType/echoResponse'"/> </message> </message-exchange> </testcase> <testcase xml:id="test11211" origin="" cr="REQUIRED"> <title>request-response operation - anonymous=optional in WSDL, wsa:FaultTo/wsa:Address=anonymous</title> <description><![CDATA[The binding of a request-response operation specify wsaw:Anonymous=optional. The request message contains anonymous FaultTo. Application fault message is returned on the HTTP response.]]></description> <port>wsaTestPortTypePortAnonymousOptional</port> <message-exchange type="SOAP11-HTTP-In-Out" addr-binding="soap11"> <message from="A" to="B"> <assert test="soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'"/> </message> <message from="B" to="A"> <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> </testcases> --- NEW FILE: .htaccess --- <Files ~ "\.html"> ForceType 'text/html; charset=utf-8' </Files> --- NEW FILE: Makefile --- # -*- makefile -*- XSLTPROC=xsltproc TIDY=tidy all: Overview.html Overview.html: testcases.xml testcases.xsl ../address.xml Makefile @echo "Generating $@";\ $(XSLTPROC) --stringparam file :w.xml testcases.xsl testcases.xml > $@ @echo "Running tidy on $@";\ mv $@ $@.old; \ $(TIDY) -utf8 $@.old > $@ 2>./tidy-output.txt;\ rm $@.old clean: rm -f *~* html2ps.dbg ./valid-html.txt ./valid-xml.txt ./checkspell.txt ./valid-links.txt ./valid-pubrules.html ./valid-ns.html ./tidy-output.txt .PHONY: clean all --- NEW FILE: Overview.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:s= "http://www.w3.org/2002/ws/addr/testsuite/testcases/"> <head> <meta name="generator" content= "HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Web Services Addressing 1.0 - Test Cases</title> <link href="../testsuite.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Web Services Addressing 1.0 - Test Cases</h1> <h2>WSDL 1.1/SOAP 1.1</h2> <ul> <li><a href="#test11010">test11010</a> - request-response operation - UsingAddressing on binding, required=true, client send addressing headers</li> <li><a href="#test11020">test11020</a> - request-response operation - UsingAddressing on binding, required=true, client does not send [...1248 lines suppressed...] "World Wide Web Consortium">W3C</acronym></a> <sup>®</sup> ( <a href="http://www.csail.mit.edu/"><acronym title= "Massachusetts Institute of Technology">MIT</acronym></a> , <a href="http://www.ercim.org/"><acronym title= "European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a> ,<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href= "/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href= "/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a rel="Copyright" href= "/Consortium/Legal/copyright-documents">document use</a> and <a rel="Copyright" href= "/Consortium/Legal/copyright-software">software licensing</a> rules apply. Your interactions with this site are in accordance with our <a href="/Consortium/Legal/privacy-statement#Public">public</a> and<a href="/Consortium/Legal/privacy-statement#Members">Member</a> privacy statements.</p> </body> </html> --- NEW FILE: testcases.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.w3.org/2002/ws/addr/testsuite/testcases/" version="1.0"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Web Services Addressing 1.0 - Test Cases</title> <link href="../testsuite.css" rel="stylesheet" type="text/css"/> </head> <body> <h1>Web Services Addressing 1.0 - Test Cases</h1> <p><xsl:value-of select="s:testcases/s:description"/></p> <h2>WSDL 1.1/SOAP 1.1</h2> <ul> <xsl:for-each select="s:testcases/s:testcase"> <xsl:if test="starts-with(current()/@xml:id, 'test11')"> <li><a href="#{@xml:id}"><xsl:value-of select="@xml:id"/></a> - <xsl:value-of select="s:title"/></li> </xsl:if> </xsl:for-each> </ul> <xsl:for-each select="s:testcases/s:note"> <p><i><xsl:value-of select="."/></i></p> </xsl:for-each> <xsl:for-each select="s:testcases/s:testcase"> <div class="testcase cr-{@cr}"> <a name="{@xml:id}"/> <a href="#{@xml:id}"> <xsl:value-of select="@xml:id"/> </a> - <b><a href="{@origin}"><xsl:value-of select="s:title"/></a></b> (<b><xsl:value-of select="@cr"/></b>) <div class="features"> <p> Features: <xsl:for-each select="s:features/s:feature"> <b><a href="../features/#{.}"><xsl:value-of select="."/></a></b> <xsl:text> </xsl:text> </xsl:for-each> </p> </div> <div class="description"> <p class="test-description"> <xsl:value-of select="s:description"/> </p> <p> Port: <xsl:value-of select="s:port"/> </p> <p class="message-exchange"> <a href="../exchanges/#{s:message-exchange/@type}"><xsl:value-of select="s:message-exchange/@type"/></a> </p> <ol> <xsl:for-each select="s:message-exchange/s:message"> <li> <xsl:value-of select="@from"/> <xsl:choose> <xsl:when test="@name"> sends a <a href="../documents/{@document}"><xsl:value-of select="@name"/></a> </xsl:when> <xsl:otherwise> sends an [empty] message </xsl:otherwise> </xsl:choose> to <xsl:value-of select="@to"/>. <ul> <xsl:for-each select="s:assert"> <li> <span class="xpath"><xsl:value-of select="@test"/></span> <xsl:if test="@optional = '1'"> <span class="optional"> (<b>OPTIONAL</b>)</span> </xsl:if> </li> </xsl:for-each> </ul> </li> </xsl:for-each> </ol> <p> <i> <xsl:value-of select="s:note"/> </i> </p> </div> </div> </xsl:for-each> <hr/> <p> Generated from <a href="testcases.xml">testcases.xml</a> using <a href="testcases.xsl">testcases.xsl</a>.<br/> $Date: 2007/07/09 20:39:12 $ </p> <xsl:copy-of select="document('../address.xml')/suffix/*"/> </body> </html> </xsl:template> </xsl:stylesheet> --- NEW FILE: tests.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Web Services Addressing 1.0 - WSDL Binding - Test Suite</title> </head> <body> <p>Test <11001> Normal WSDL (same as we have been using), binding indicates usingAddressing wsdl required=true<br /> assertion: addressing headers are present in both request and response</p> <p>Test <11020> Same as <11010> but client does not send addressing headers.<br /> assertion: server responds with fault<br /> precondition: input message is the same except for addressing headers</p> <p>Test <11030> Same as <11010> except usingAddressing is on the port element</p> <p>Test <11040> Same as <11020> except usingAddressing is on the port element</p> <p>Test <11050> Normal WSDL (same as we have been using), binding indicates usingAddressing wsdl required=false; client includes addrressing headers.<br /> assertion: server responds with addressing headers in response (mu could be true or false)</p> <p>Test <11060> Normal WSDL (same as we have been using), binding indicates usingAddressing wsdl required=false; client does not include addressing headers<br /> assertion: server processes corrently, and does not return headers with mu=true</p> <p>Test <11070> Normal WSDL (same as we have been using), port indicates usingAddressing wsdl required=false; client includes addrressing headers.<br /> assertion: server responds with addressing headers in response (mu could be true or false)</p> <p>Test <11080> Normal WSDL (same as we have been using), port indicates usingAddressing wsdl required=false; client does not include addressing headers<br /> assertion: server processes corrently, and does not return headers with mu=true</p> <p>Action:<br /> Test <11090> Normal WSDL (same as we have been using) with wsaw:Action = non default URI<br /> assertion: client sends the correct action; server responds with the correct response and action</p> <p>Test <11100> Normal WSDL (same as we have been using) with wsaw:Action = non default URI<br /> assertion: client sends the incorrect default action and the server faults as specified</p> <p>Test <11110> wsdl port type containing two req/resp operations the message body for the request is the same with different wsaw:Action values and different response message bodies<br /> assertion: confirm that the correct response body is returned based on the specified action value</p> <p>Test <11120> wsdl port type containing two req/resp operations the message body for the request is the same with default action and different response message bodies<br /> assertion: confirm that the correct response body is returned based on the specified action value</p> <p>Test <11130> Normal WSDL (same as we have been using) with no action value specified<br /> assertion: client responds with default action value and server responds with correct response</p> <p>Test <11140> Normal WSDL (same as we have been using) with no action value specified; client sends non default and incorrect action<br /> assertion: server returns appropriate fault</p> <p>N.B. when default action os specified above, it is specified for both in and out and when a non-default action os specified above, it is specified for both in and out </p> <p>Anonymous: (using addressing must be specified in all of the following tests)</p> <p>Test <11150> Normal WSDL (same as we have been using) using anonymous = required on the binding/operation<br /> assertion: client sends request with ReplyTo=anon; server responds on the backchannel</p> <p>Test <11160> Normal WSDL (same as we have been using) using anonymous = required on the binding/operation<br /> assertion: client sends request with ReplyTo=non-anon not none; server responds appropriate fault on the backchannel</p> <p>Test <11170> Normal WSDL (same as we have been using) using anonymous = prohibited on the binding/operation<br /> assertion: client sends request with ReplyTo=non-anon; server responds on the specified ReplyTo address</p> <p>Test <11180> Normal WSDL (same as we have been using) using anonymous = prohibited on the binding/operation<br /> assertion: client sends request with ReplyTo=anon, FaultTo=non-anon; server responds appropriate fault on the FaultTo: address</p> <p>Test <11190> [please do not do this at home] Normal WSDL (same as we have been using) using anonymous = prohibited on the binding/operation<br /> assertion: client sends request with ReplyTo=anon, FaultTo=anon or not specified; server must generate a fault (which may not be received by client)</p> <p>Test <11200> Normal WSDL (same as we have been using) using anonymous = optional on the binding/operation<br /> assertion: client sends request with ReplyTo=non-anon; server responds on the specified ReplyTo address</p> <p>Test <11210> Normal WSDL (same as we have been using) using anonymous = optional on the binding/operation<br /> assertion: client sends request with ReplyTo=anon; server server responds on the backchannel</p> <p>MEP: TBD</p> <p>Metadata: TBD<br /> </p> </body> </html>
Received on Monday, 9 July 2007 20:39:18 UTC