- From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
- Date: Wed, 22 Sep 2004 01:08:33 -0700
- To: xml-dist-app@w3.org
I took an AI to send out implementation tests for RRSHB. This email fulfills that action. RRSHB Implementation/Interop tests for the CR phase :- The tests below cover the following: * basic RRSHB testing * testing with multiple RRSH blocks that represent the same resource but have different meta-data * RRSHB testing in conjunction with xmlmime:contentType attribute * RRSHB testing in conjunction with MTOM The schema for the elements and attributes used in the tests is as follows (reuses the 'Data' element from MTOM tests with different namespace): <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://example.org/rrshb/test' xmlns:x='http://example.org/rrshb/test' > <xs:import namespace='http://www.w3.org/2004/06/xmlmime' /> <xs:element name='Data' > <xs:complexType> <xs:simpleContent> <xs:extension base='xs:base64Binary' > <xs:attribute ref='xmime:contentType' /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name='GetResourceRepresentation' > <xs:complexType> <xs:attribute name='resource' type='xs:anyURI' use='required' /> </xs:complexType> </xs:element> <xs:element name='ResourceRepresentation' > <xs:complexType> <xs:sequence> <xs:element ref='x:Data' minOccurs='1' maxOccurs='unbounded' /> </xs:sequence> <xs:attribute name='resource' type='xs:anyURI' use='required' /> </xs:complexType> </xs:element> </xs:schema> Test 1: Basic RRSHB testing The tests consists of - Request message: node A (client) sends a message to node B (server) with Resource Representation Header block(s) for the resource identified by "http://example.org/rrshb/test/data". SOAP Body consists of the element {http://example.org/rrshb/test}GetResourceRepresentation. If multiple RRSHB are present in the message they must have different values for the attribute "xmlmime:contentType". example request message: <soap:Envelope xmlns:soap='http://www.w3.org/2002/12/soap-envelope' xmlns:rep='http://www.w3.org/2004/08/representation' xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'> <soap:Header> <rep:Representation resource='http://example.org/rrshb/test/data'> <rep:Data xmlmime:contentType='image/png'>...</rep:Data> </rep:Representation> <rep:Representation resource='http://example.org/rrshb/test/data'> <rep:Data xmlmime:contentType='image/jpeg'>...</rep:Data> </rep:Representation> </soap:Header> <soap:Body> <x:GetResourceRepresentation xmlns:x='http://example.org/rrshb/test'> http://example.org/rrshb/test/data </x:GetResourceRepresentation> </soap:Body> </soap:Envelope> Response message: node B (server) responds to node A (client) by including all the representations of the resource identified by "http://example.org/rrshb/test/data", in the SOAP Body as the content of the element {http://example.org/rrshb/test}ResourceRepresentation. example message: <soap:Envelope xmlns:soap='http://www.w3.org/2002/12/soap-envelope' xmlns:rep='http://www.w3.org/2004/08/representation' xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'> <soap:Body> <x:ResourceRepresentation xmlns:x='http://example.org/rrshb/test' resource='http://example.org/rrshb/test/data'/> <x:Data xmlmime:contentType='image/png'>...</x:Data> <x:Data xmlmime:contentType='image/jpeg'>...</x:Data> </soap:Body> </soap:Envelope> Test 2: RRSHB testing with MTOM a) same as test 1 but the request message uses MTOM to optimize all the RRSHB (by using xop:Include). b) same as test 1 but the response message uses MTOM to optimize all the x:Data elements (by using xop:Include) Test 3: RRSHB testing with "reinsert" In this test the SOAP path consists of node A --> node B --> node A. Node B acts as a forwarding intermediary. The message sent from node A to node B is same as in test 1, but all the RRSHB headers have the "reinsert" and "relay" attribute with the value of "true". The message sent from node B to node A is same as in test 1, but all the RRSHB headers included in the request message are also present in the response message. The tests do not cover section "4.3.3 Extension example: HTTP resolver extension", as this was considered to be an example and non-normative. Should this section be tested? Comments? Regards. -Anish --
Received on Wednesday, 22 September 2004 08:09:05 UTC