Web Services Addressing 1.0 Core and SOAP Binding Test Cases

Arun's list of cases interleaved with Mark's features ticked off against the Web Services Addressing Test Suite Testcases

Core

  1. "none" URI (2.1) - REQUIRED
    1. For a request-response primitive using SOAP/HTTP, a service endpoint receives a message with wsa:ReplyTo set to "none" URI. The service endpoint MUST not send a protocol response back and generate an HTTP 202 response only. t1200
  2. Endpoint Reference Infoset Representation (2.2) - REQUIRED
    1. Create an EPR "eprReply" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. Verify that the wsa:Reply-To is set to

      <wsa:Reply-To xmlns:wsa="http://www.w3.org/2005/08/addressing/">
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:Reply-To>
      t1202

    2. Add "eprFault" t1203

    3. Create an EPR "eprReply" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
          </wsa:ReferenceParameters>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. Verify that the wsa:Reply-To is set to

      <wsa:Reply-To xmlns:wsa="http://www.w3.org/2005/08/addressing/">
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
          </wsa:ReferenceParameters>
      </wsa:Reply-To>
      t1206

    4. Create an EPR "eprReply" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
          </wsa:ReferenceParameters>
          <wsa:Metadata>
              <wsdl:definitions>
                  ...
              </wsdl:definitions>
          </wsa:Metadata>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. Verify that the wsa:Reply-To is set to

      <wsa:Reply-To xmlns:wsa="http://www.w3.org/2005/08/addressing/">
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
          </wsa:ReferenceParameters>
          <wsa:Metadata>
              <wsdl:definitions>
                  ...
              </wsdl:definitions>
          </wsa:Metadata>
      </wsa:Reply-To>
      t1207

  3. Endpoint Reference Extensibility (2.5) - REQUIRED
    1. Create an EPR "eprReply" as given below

      <wsa:EndpointReference xmlns:fabrikam="..." fabrikam:name="reply endpoint">
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters fabrikam:total="1">
              <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
          </wsa:ReferenceParameters>
          <wsa:Metadata fabrikam:total="1">
              <wsdl:definitions>
                  ...
              </wsdl:definitions>
          </wsa:Metadata>
          <fabrikam:otherMetadata>
          </fabrikam:otherMetadata>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. Verify that service endpoint is able to process the [reply endpoint] EPR correctly. t1208

  4. XML Infoset Representation of Message Addressing Properties (3.2) - REQUIRED To Be Defined
  5. wsa:To defaulting (3.2) - REQUIRED
    1. For a request/response primitive using SOAP/HTTP, configure the service endpoint such that wsa:To is not generated in the response message. The client should receive the response using the channel specified by the SOAP protocol binding. For instance, SOAP 1.1/1.2 puts the reply message in HTTP response. t1230
  6. wsa:ReplyTo defaulting (3.2) - REQUIRED
    1. For a request/response primitive using SOAP/HTTP, configure the client such that wsa:Reply-To is not generated (this may not be easy unless a hand-crafted message is used). The client should receive the response using the channel specified by the SOAP protocol binding. For instance, SOAP 1.1/1.2 puts the reply message in HTTP response. t1230
  7. wsa:RelatesTo/@RelationshipType defaulting (3.2) - REQUIRED To Be Defined
  8. Comparing IRIs (3.2.1) - REQUIRED
  9. To Be Defined
  10. Formulating a normal Reply (3.3) - REQUIRED
    1. Create an EPR "eprReply" as given below

      <wsa:EndpointReference xmlns:fabrikam="..." >
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:success wsa:isReferenceParameter="true">123456789<fabrikam:success>
          </wsa:ReferenceParameters>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends the normal response back to the client in the HTTP response.
      • On the client, validate the reference parameter received is <fabrikam:success wsa:isReferenceParameter="true">123456789<fabrikam:success>. t1232
  11. Formulating a Fault Reply (3.3) - REQUIRED
    1. Create an EPR "eprFault" with

      <wsa:EndpointReference xmlns:fabrikam="..." >
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:failure>123456789<fabrikam:failure>
          </wsa:ReferenceParameters>
      </wsa:EndpointReference>

      The client sets [fault endpoint] to "eprFault" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends a fault response back to the client in the HTTP response.
      • On the client, validate the reference parameter received is <fabrikam:failure wsa:isReferenceParameter="true">123456789<fabrikam:failure>. t1233
    2. Create an EPR "eprReply" with

      <wsa:EndpointReference xmlns:fabrikam="..." >
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
          <wsa:ReferenceParameters>
              <fabrikam:success wsa:isReferenceParameter="true">123456789<fabrikam:success>
          </wsa:ReferenceParameters>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply", does not set [fault endpoint] and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends a fault response back to the client in the HTTP response.
      • On the client, validate the reference parameter received is <fabrikam:success wsa:isReferenceParameter="true">123456789<fabrikam:success>. t1234

 


SOAP Binding

  1. SOAP 1.2 Feature interaction with Action (2.4) - REQUIRED
    1. From the client, generate a SOAP 1.2 message where http://www.w3.org/2003/05/soap/features/action/Action feature has a non-null value. On the service endpoint, http://www.w3.org/20050/08/addressing/features/Action feature should exactly match that value. t1201
  2. SOAP 1.2 Message Addressing Property binding (3.4) - REQUIRED To Be Defined
  3. SOAP 1.2 Anonymous Address (3.5) - REQUIRED
    1. Create an EPR "eprReply" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends the normal response back to the client in the HTTP response.
      t1231
    2. Create an EPR "eprFault" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

      The client sets [fault endpoint] to "eprFault" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends the fault response back to the client in the HTTP response.
      t1233
  4. SOAP 1.1 Message Addressing Property binding (4.2) - REQUIRED To Be Defined
  5. SOAP 1.1 interaction with Action (4.2) - REQUIRED
    1. From the client, generate a SOAP 1.1 message with non-null [action] message addressing property. On the service endpoint, SOAPAction HTTP header must match the [action] property value.
    2. From the client, generate a SOAP 1.1 message with empty [action] message addressing property. On the service endpoint, SOAPAction HTTP header must match the [action] property value. (??)
  6. SOAP 1.1 Anonymous Address (3.5) - REQUIRED
    1. Create an EPR "eprReply" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

      The client sets [reply endpoint] to "eprReply" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends the normal response back to the client in the HTTP response.
      To Be Defined
    2. Create an EPR "eprFault" as given below

      <wsa:EndpointReference>
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

      The client sets [fault endpoint] to "eprFault" and invokes the service endpoint. The expected behavior is:

      • Service endpoint sends the fault response back to the client in the HTTP response.
      To Be Defined
  7. Faults (5) - OPTIONAL (except as below) To Be Defined
  8. InvalidAddressingFailure Fault (5, 3.2) - REQUIRED
    1. Generate request messages with exactly one of the following properties duplicate in each message:
      • [source endpoint]
      • [destination]
      • [reply endpoint]
      • [fault endpoint]
      • [action]
      • [message id]

      In each case, the service endpoint must generate a fault with following properties:

      [Code] S:Sender
      [Subcode] wsa:InvalidAddressingHeader
      [Subsubcode] wsa:InvalidCardinality
      [Reason] "A header representing a Message Addressing Property is not valid and the message cannot be processed"
      [Details] <wsa:ProblemHeader> element that conveys a copy of the offending header
      To Be Defined

 

Last updated: October 14, 2005 02:54 PM - pdowney