W3C home > Mailing lists > Public > public-ws-desc-eds@w3.org > January 2007

2002/ws/desc/test-suite/documents/good/LocationTemplate-2G TestMetadata.xml,NONE,1.1 HTTPservice.filename,NONE,1.1 HTTPservice.wsdl,NONE,1.1 dateSpace.xsd,NONE,1.1

From: Jonathan Marsh via cvs-syncmail <cvsmail@w3.org>
Date: Tue, 16 Jan 2007 12:53:57 +0000
To: public-ws-desc-eds@w3.org
Message-Id: <E1H6np7-00062B-Mh@lionel-hutz.w3.org>

Update of /sources/public/2002/ws/desc/test-suite/documents/good/LocationTemplate-2G
In directory hutz:/tmp/cvs-serv6742/test-suite/documents/good/LocationTemplate-2G

Added Files:
	TestMetadata.xml HTTPservice.filename HTTPservice.wsdl 
	dateSpace.xsd 
Log Message:
See http://lists.w3.org/Archives/Public/www-ws-desc/2007Jan/0122.html:

In order not to lose the few bindings that make sense under SOAP, Ive cloned LocationTemplate-1G into LocationTemplate-2G which is an HTTP binding-only version.  I twiddled a few other details to keep everything sufficiently unique (e.g. service name, whttp:location URLs, etc.) 

Ive cut the AutoRemainder, AdditionalQueryParams, and AutoQueryParams bindings from LocationTemplate-1G. 

Since weve clarified that the {http location} is engaged on both soap-request and request-response MEPs, I cloned the remaining 4 operations and test them on the request-response MEP as well. 

While doing this, I noticed some service names were not unique within the whole set of tests were doing, which is inconvenient for some implementations like Axis2.  I updated MessageTest-2G,3G,4G service names (which should affect the component model more than the message tests.) 

Also made sure queryParameterSeparater values were consistent with any query params explicitly specified in whttp:location.

--- NEW FILE: TestMetadata.xml ---
<?xml version="1.0"?>
<TestMetadata xmlns="http://www.w3.org/2006/02/wsdl/TestMetadata">
	<Identifier>
		http://dev.w3.org/cvsweb/2002/ws/desc/test-suite/documents/good/LocationTemplate-2G
	</Identifier>
	<Title>Good Document LocationTemplate-2G</Title>
	<Purpose>For testing interoperability</Purpose>
	<Description>Exercise whttp:template under the HTTP binding.</Description>
	<Status>accepted</Status>
	<SpecRef></SpecRef>
	<Preconditions>none</Preconditions>
	<Inputs>
		<Input role="root">HTTPservice.wsdl</Input>
		<Input role="required-extension">http://www.w3.org/2006/01/wsdl/http</Input>
	</Inputs>
	<ExpectedResults>
		<Successful>true</Successful>
	</ExpectedResults>
	<Version>1.0</Version>
	<Contributor>
		<Name>Jonathan Marsh</Name>
		<Affiliation>WSO2</Affiliation>
		<EMail>jonathan@wso2.com</EMail>
	</Contributor>
	<Rights>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</Rights>
	<Grouping>/documents/good</Grouping>
	<SeeAlso><Reference>http://www.w3.org/TR/wsdl20</Reference></SeeAlso>
</TestMetadata>

--- NEW FILE: HTTPservice.wsdl ---
<description xmlns="http://www.w3.org/2006/01/wsdl"
  targetNamespace="http://example.org/message-test" xmlns:tns="http://example.org/message-test"
  xmlns:wsdlx="http://www.w3.org/2006/01/wsdl-extensions"
  xmlns:whttp="http://www.w3.org/2006/01/wsdl/http" xmlns:ds="http://example.org/date-space/xsd"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  
  <documentation><![CDATA[
    This test exercises http templating.
    
    The constructReference is provided a structure (dateSpace), and returns a URI corresponding to
    the structure, in particular, the URI constructed from the template.
    
    For test purposes, invoke the operation with the following structure:
      <dateSpace xmlns="http://example.org/date-space/xsd">
        <year>2006</year>
        <month>11</month>
        <day>18</day>
        <time>16:40:00</time>
        <time>20:00:42</time>
      </dateSpace>
    
    When running a test pass against this WSDL, each endpoint should be invoked in order, and 
    each operation within the interface bound by that binding should be invoked in the order 
    it appears in the interface, extended interfaces first.
  
 ]]></documentation>
  <types>
    <xs:import namespace="http://example.org/date-space/xsd" schemaLocation="dateSpace.xsd"/>
  </types>
  
  <interface name="ProbeSpace">
    <documentation>This minimal interface defines a single operation which can be bound
    in a variety of ways.</documentation>
    <operation name="constructReference" pattern="http://www.w3.org/2006/01/wsdl/in-out" style="http://www.w3.org/2006/01/wsdl/style/iri">
      <documentation>Simple probe service - pass in a query structure, get a uri constructed from that structure back.
      Expect: http://example.org?year=2006&amp;month=11&amp;day=18&amp;time=16:40:00&amp;time=20:00:42
      </documentation>
      <input element="ds:dateSpace"/>
      <output element="ds:result"/>
    </operation>
  </interface>
 
  <binding name="Paths" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests the that parameters can be successfully inserted as path segments.
      Expect: http://example.org/datespace/2006/11/18/16%3A40%3A00-20%3A00%3A42.html
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date/{year}/{month}/{day}/{time}-{time}.html"/>
  </binding>

  <binding name="MixedPathsQueryParams" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http"
    whttp:queryParameterSeparaterDefault=";">
    <documentation> This binding tests the that parameters can be successfully inserted as path segments.
      Expect: http://example.org/datespace/2006/11.html?day=18;start=16%3A40%3A00;end=20%3A00%3A42
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date/{year}/{month}.html?day={day};start={time};end={time}"/>
  </binding>

  <binding name="AutoQueryParams" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests the that parameters are automatically appended as query parameters.
      Expect: http://example.org/datespace.html?year=2006;month=11;day=18;time=16%3A40%3A00;time=20%3A00%3A42
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date.html" whttp:queryParameterSeparator=";"/>
  </binding>
  
  <binding name="AutoRemainder" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests the that parameters can be successfully inserted as path segments, with remaining ones becoming query parameters.
      Expect: http://example.org/datespace/2006/11.html?day=18&amp;time=16%3A40%3A00&amp;time=20%3A00%3A42
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date/{year}/{month}.html"/>
  </binding>

  <binding name="IgnoreUncited" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests the that parameters can be suppressed.
      Expect: http://example.org/datespace/2006.html?start=16%3A40%3A00
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date/{year}.html?start={time}" whttp:ignoreUncited="true"/>
  </binding>

  <binding name="AdditionalQueryParams" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests that the parameters can be suppressed.
      Expect: http://example.org/datespace/2006.html?timezone=utc&amp;month=11&amp;day=18&amp;time=16%3A40%3A00&amp;time=20%3A00%3A42
    </documentation>
    <operation ref="tns:constructReference"
      whttp:location="date/{year}.html?timezone=utc"/>
  </binding>
  
  <binding name="Escaping" interface="tns:ProbeSpace"
    type="http://www.w3.org/2006/01/wsdl/http">
    <documentation> This binding tests that escaping of curly braces is done correctly.
      Expect: http://example.org/datespace/2006.html?passphrase=%7B4(%23^$@!%7D4^@*%23%7D
    </documentation>
    <operation ref="tns:constructReference" 
      whttp:location="date/{year}.html?passphrase={{4(^$@!}}4^@*}}" whttp:ignoreUncited="true"/> 
  </binding>

  <service name="LocationTemplate2GService" interface="tns:ProbeSpace">
    <documentation>Exercise each endpoint in order.</documentation>
    <endpoint name="PathsEndpoint" binding="tns:Paths" address="http://example.org/"/>
    <endpoint name="MixedPathsQueryParamsEndpoint" binding="tns:MixedPathsQueryParams" address="http://example.org/"/>
    <endpoint name="AutoQueryParamsEndpoint" binding="tns:AutoQueryParams" address="http://example.org/"/>
    <endpoint name="AutoRemainderEndpoint" binding="tns:AutoRemainder" address="http://example.org/"/>
    <endpoint name="IgnoreUncidedEndpoint" binding="tns:IgnoreUncited" address="http://example.org/"/>
    <endpoint name="AdditionalQueryParamsEndpoint" binding="tns:AdditionalQueryParams" address="http://example.org/"/>
    <endpoint name="EscapingEndpoint" binding="tns:Escaping" address="http://example.org/"/>
  </service>
</description>

--- NEW FILE: dateSpace.xsd ---
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" targetNamespace="http://example.org/date-space/xsd"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://example.org/date-space/xsd">

  <xs:element name="dateSpace" type="ds:dateSpaceType"/>

  <xs:complexType name="dateSpaceType">
    <xs:sequence>
      <xs:element name="year" type="xs:int"/>
      <xs:element name="month" type="xs:int"/>
      <xs:element name="day" type="xs:int"/>
      <xs:element name="time" type="xs:time" minOccurs="2" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="result" type="xs:anyURI"/>

</xs:schema>

--- NEW FILE: HTTPservice.filename ---
<filename>LocationTemplate-2G/HTTPservice.wsdl</filename>
Received on Tuesday, 16 January 2007 12:54:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 16 January 2007 12:54:05 GMT