Web Services Addressing 1.0 Core and SOAP Binding Test Cases

Core

  1. "none" URI (2.1) - REQUIRED
    1. For a one-way request using SOAP/HTTP, if wsa:ReplyTo is present then it MUST contain "none" URI
    2. For a one-way request using SOAP/HTTP, if wsa:FaultTo is present then it MUST contain "none" URI
  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:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing/">
          <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
      </wsa:EndpointReference>

    2. 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:EndpointReference 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:EndpointReference>

    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: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:EndpointReference 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:EndpointReference>

  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.

  4. XML Infoset Representation of Message Addressing Properties (3.2) - REQUIRED
  5. wsa:To defaulting (3.2) - REQUIRED
    1. For a request/response MEP using SOAP/HTTP, configure the service endpoint such that wsa:To is not generated. 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.
  6. wsa:ReplyTo defaulting (3.2) - REQUIRED
    1. For a request/response MEP 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.
  7. wsa:RelatesTo/@RelationshipType defaulting (3.2) - REQUIRED
  8. Comparing IRIs (3.2.1) - REQUIRED
  9. 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>.
  10. 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 wsa:isReferenceParameter="true">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>.
    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>.

 


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.
  2. SOAP 1.2 Message Addressing Property binding (3.4) - REQUIRED
  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.
    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.
  4. SOAP 1.1 Message Addressing Property binding (4.2) - REQUIRED
  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.
    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.
  7. Faults (5) - OPTIONAL (except as below)
  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

 

Last updated: October 07, 2005 02:20 PM