Web Services Addressing 1.0 - Test Cases

test1100 - SOAP 1.1 one-way message (REQUIRED)

Features: core01 soap05

One-way message containing an Action header. Everything else is defaulted.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
test1200 - SOAP 1.2 one-way message (REQUIRED)

Features: core01 soap01

One-way message containing an Action header. Everything else is defaulted.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
test1101 - SOAP 1.1 one-way defaulted with a MessageID value (REQUIRED)

Features: core02

One-way message containing a MessageID. ReplyTo and FaultTo are defaulted.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:MessageID
test1201 - SOAP 1.2 one-way defaulted with a MessageID value (REQUIRED)

Features: core02

One-way message containing a MessageID. ReplyTo and FaultTo are defaulted.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:MessageID
test1102 - SOAP 1.1 one-way message with a ReplyTo address of none (REQUIRED)

Features: core02

One-way message containing a ReplyTo address value of none.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1202 - SOAP 1.2 one-way message with a ReplyTo address of none (REQUIRED)

Features: core02

One-way message containing a ReplyTo address value of none.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1103 - SOAP 1.1 one-way message with a FaultTo address of none (REQUIRED)

Features: core02

One-way message containing a FaultTo address value of none.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1203 - SOAP 1.2 one-way message with a FaultTo address of none (REQUIRED)

Features: core02

One-way message containing a FaultTo address value of none.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1104 - SOAP 1.1 one-way message with a ReplyTo and FaultTo address of none (REQUIRED)

Features: core01

One-way message containing none ReplyTo and FaultTo address values.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1204 - SOAP 1.2 one-way message with a ReplyTo and FaultTo address of none (REQUIRED)

Features: core01

One-way message containing none ReplyTo and FaultTo address values.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
test1106 - SOAP 1.1 one-way message with ReplyTo containing a Reference Parameter (REQUIRED)

Features: core02

One-way message containing none ReplyTo address with Reference Parameter.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
test1206 - SOAP 1.2 one-way message with ReplyTo containing a Reference Parameter (REQUIRED)

Features: core02

One-way message containing none ReplyTo address with Reference Parameter.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
test1107 - SOAP 1.1 one-way message with ReplyTo containing WSDL Metadata (REQUIRED)

Features: core02

One-way message containing none ReplyTo address with a WSDL 1.1 and WSDL 2.0 documents appearing in the Metadata.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Metadata/wsdl11:definitions
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Metadata/wsdl20:description
test1207 - SOAP 1.2 one-way message with ReplyTo containing WSDL Metadata (REQUIRED)

Features: core02

One-way message containing none ReplyTo address with a WSDL 1.1 and WSDL 2.0 documents appearing in the Metadata.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Metadata/wsdl11:definitions
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Metadata/wsdl20:description
test1108 - SOAP 1.1 one-way message with ReplyTo containing EPR extensions (REQUIRED)

Features: core03

One-way message containing a ReplyTo address with an element extension and an attribute extension of the ReferenceParameters and Metadata elements.

SOAP11-HTTP-In-Only

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/notify'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/@customer:level = 'premium'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Metadata/@customer:total = '1'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/customer:Metadata
test1208 - SOAP 1.2 one-way message with ReplyTo containing EPR extensions (REQUIRED)

Features: core03

One-way message containing a ReplyTo address with an element extension and an attribute extension of the ReferenceParameters and Metadata elements.

SOAP12-HTTP-In-Only

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/notify'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/@customer:level = 'premium'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Metadata/@customer:total = '1'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/customer:Metadata
test1130 - SOAP 1.1 two-way message. (REQUIRED)

Features: core05 core06 core09

Two-way message exchange containing an Action. All other fields are defaulted. The presence of a MessageID in the first message and of the corresponding RelatesTo in the second message is tested.

SOAP11-HTTP-In-Out

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:MessageID
  2. B sends a reply to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1230 - SOAP 1.2 two-way message. (REQUIRED)

Features: core05 core06 core09

Two-way message exchange containing an Action. All other fields are defaulted. The presence of a MessageID in the first message and of the corresponding RelatesTo in the second message is tested.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:MessageID
  2. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1131 - SOAP 1.1 two-way message with ReplyTo address of anonymous. (REQUIRED)

Features: core04 core05 soap04

Two-way message exchange containing an Action, MessageID and a ReplyTo of anonymous. All other fields are defaulted.

SOAP11-HTTP-In-Out

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
  2. B sends a reply to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1231 - SOAP 1.2 two-way message with ReplyTo address of anonymous. (REQUIRED)

Features: core04 core05 soap02

Two-way message exchange containing an Action, MessageID and a ReplyTo of anonymous. All other fields are defaulted.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
  2. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1132 - SOAP 1.1 two-way message with ReplyTo address containing Reference Parameters. (REQUIRED)

Features: core09

Two-way message exchange containing an Action and a ReplyTo with the address set to anonymous. The ReplyTo contains at least one Reference Parameter value. The reply message is returned on the HTTP response with the Reference Parameter value as a first class SOAP header.

SOAP11-HTTP-In-Out

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
  2. B sends a reply to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap11:Envelope/soap11:Header/customer:CustomerKey = 'Key#123456789'
    • soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1232 - SOAP 1.2 two-way message with ReplyTo address containing Reference Parameters. (REQUIRED)

Features: core09

Two-way message exchange containing an Action and a ReplyTo with the address set to anonymous. The ReplyTo contains at least one Reference Parameter value. The reply message is returned on the HTTP response with the Reference Parameter value as a first class SOAP header.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
  2. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap12:Envelope/soap12:Header/customer:CustomerKey = 'Key#123456789'
    • soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1133 - SOAP 1.1 two-way message with fault. ReplyTo and FaultTo addresses containing Reference Parameters. (REQUIRED)

Features: core10 soap06

Two-way message exchange containing an Action. The ReplyTo and FaultTo addresses are both anonymous. The ReplyTo and FaultTo contain at least one Reference Parameter value which are different. A fault message is returned on the HTTP response with the FaultTo Reference Parameter value as a first class SOAP header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
    • soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:ReferenceParameters/customer:CustomerKey = 'Fault#123456789'
    • soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault' or soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/fault'
    • soap11:Envelope/soap11:Header/customer:CustomerKey = 'Fault#123456789'
    • soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('echo:EmptyEchoString')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('soap11:Sender'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1233 - SOAP 1.2 two-way message with fault. ReplyTo and FaultTo addresses containing Reference Parameters. (REQUIRED)

Features: core10 soap03

Two-way message exchange containing an Action. The ReplyTo and FaultTo addresses are both anonymous. The ReplyTo and FaultTo contain at least one Reference Parameter value which are different. A fault message is returned on the HTTP response with the FaultTo Reference Parameter value as a first class SOAP header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:ReferenceParameters/customer:CustomerKey = 'Fault#123456789'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault' or soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/fault'
    • soap12:Envelope/soap12:Header/customer:CustomerKey = 'Fault#123456789'
    • soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('echo:EmptyEchoString'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1134 - SOAP 1.1 two-way message with fault. FaultTo is defaulted, ReplyTo address contains Reference Parameters. (REQUIRED)

Features: core10

Two-way message exchange containing an Action and a ReplyTo address, but no FaultTo EPR. The ReplyTo address is anonymous. The ReplyTo contains at least one Reference Parameter value. A fault message is returned on the HTTP response with the ReplyTo Reference Parameter value as a first class SOAP header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • not(soap11:Envelope/soap11:Header/wsa:ReplyTo) or soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault' or soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/fault'
    • soap11:Envelope/soap11:Header/customer:CustomerKey = 'Key#123456789'
    • soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap11:Envelope/soap11:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('echo:EmptyEchoString')) or soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('soap11:Sender'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1234 - SOAP 1.2 two-way message with fault. FaultTo is defaulted, ReplyTo address contains Reference Parameters. (REQUIRED)

Features: core10

Two-way message exchange containing an Action and a ReplyTo address, but no FaultTo EPR. The ReplyTo address is anonymous. The ReplyTo contains at least one Reference Parameter value. A fault message is returned on the HTTP response with the ReplyTo Reference Parameter value as a first class SOAP header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo) or soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:ReferenceParameters/customer:CustomerKey = 'Key#123456789'
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault' or soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/fault'
    • soap12:Envelope/soap12:Header/customer:CustomerKey = 'Key#123456789'
    • soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('echo:EmptyEchoString'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1235 - SOAP 1.2 two-way message with fault. FaultTo is anonymous, ReplyTo is non-anonymous. (REQUIRED)

Features: core10

Two-way message exchange containing an Action, a ReplyTo EPR, and a FaultTo EPR. The ReplyTo address is not anonymous. The FaultTo address is anonymous. The FaultTo contains at least one Reference Parameter value. A fault message is returned on the HTTP response.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:ReferenceParameters/customer:CustomerKey = 'Fault#123456789'
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Header/customer:CustomerKey = 'Fault#123456789'
    • soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter and soap12:Envelope/soap12:Header/customer:CustomerKey/@wsa:IsReferenceParameter cast as xs:boolean = true()
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('echo:EmptyEchoString'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1236 - SOAP 1.2 two-way message with a ReplyTo address of none. (REQUIRED)

Features: core01 core09

Two-way message exchange containing an ReplyTo EPR. The Reply-To EPR is has a value of http://www.w3.org/2005/08/addressing/none. No message is sent back.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
test1237 - SOAP 1.2 two-way message with a ReplyTo address of none and a role of '/next'. (INFORMATIONAL)

Features: core01 core09

Two-way message exchange containing an ReplyTo EPR. The Reply-To EPR is has a value of "http://www.w3.org/2005/08/addressing/none" and a role of "http://www.w3.org/2003/05/soap-envelope/role/next". No message is sent back.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/@soap12:role = 'http://www.w3.org/2003/05/soap-envelope/role/next'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
test1238 - SOAP 1.2 two-way message triggers mustUnderstand fault (INFORMATIONAL)

Features:

A SOAP header marked with @mustUndertand="1" and a FaultTo address of none. The header isn't understood and a mustUnderstand fault is generated by the underlying SOAP processing model and sent back to the node A.

SOAP12-HTTP-In-Only-Fault

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • soap12:Envelope/soap12:Header/alertcontrol:alertcontrol/@soap12:mustUnderstand
    • soap12:Envelope/soap12:Header/alertcontrol:alertcontrol/@soap12:mustUnderstand and soap12:Envelope/soap12:Header/alertcontrol:alertcontrol/@soap12:mustUnderstand cast as xs:boolean = true()
  2. B sends a fault to A.
    • not(soap12:Envelope/soap12:Header/soap12:NotUnderstood) or soap12:Envelope/soap12:Header/soap12:NotUnderstood/@qname/(resolve-QName(.,parent::node()) = xs:QName('alertcontrol:alertcontrol'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:MustUnderstand'))
test1140 - SOAP 1.1 two-way message with a duplicate To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate To header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:To) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeader/wsa:To = 'http://www.w3.org/2005/08/addressing/anonymous' or soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:To'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1141 - SOAP 1.1 two-way message with a duplicate Reply-To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate Reply-To header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:ReplyTo) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeader/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous' or soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:ReplyTo'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1142 - SOAP 1.1 two-way message with a duplicate Fault-To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate Fault-To header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:FaultTo) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeader/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous' or soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:FaultTo'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1143 - SOAP 1.1 two-way message with a duplicate action header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate action header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:Action) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeader/wsa:Action = 'http://message.id/test' or soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:Action'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1144 - SOAP 1.1 two-way message with a duplicate message ID header. (INFORMATIONAL)

Features: soap08

Two-way message exchange containing a duplicate message ID header. The RelatesTo is in essence meaningless, hence this test being informational.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:MessageID) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeader/wsa:MessageID = 'http://message.id/test' or soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:MessageID'))
test1146 - SOAP 1.1 two-way message with a duplicate To header. (OPTIONAL)

Features: soap08

Two-way message exchange containing a duplicate To header, generating a ProblemHeaderQName fault detail.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:To) = 2
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • 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:InvalidCardinality'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:To'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1147 - SOAP 1.1 two-way message with no action header. (OPTIONAL)

Features: soap07

Two-way message exchange containing no action header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:Action) = 0
  2. B sends a fault to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap11:Envelope/soap11:Body/soap11:Fault/faultcode/(resolve-QName(.,.) = xs:QName('wsa:MessageAddressingHeaderRequired'))
    • soap11:Envelope/soap11:Header/wsa:FaultDetail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:Action'))
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1149 - SOAP 1.1 two-way message with a duplicate To header and a ReplyTo of none. (INFORMATIONAL)

Features: soap08 core10

Two-way message exchange containing a duplicate To header and ReplyTo of none. An InvalidAddressingHeader fault should be generated, but not sent due to the ReplyTo header.

SOAP11-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap11:Envelope/soap11:Header/wsa:To) = 2
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
  2. B sends an [empty] message to A.
test1240 - SOAP 1.2 two-way message with a duplicate To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate To header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:To) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeader/wsa:To = 'http://www.w3.org/2005/08/addressing/anonymous' or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:To'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1241 - SOAP 1.2 two-way message with a duplicate Reply-To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate Reply-To header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:ReplyTo) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeader/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous' or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:ReplyTo'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1242 - SOAP 1.2 two-way message with a duplicate Fault-To header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate Fault-To header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:FaultTo) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeader/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous' or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:FaultTo'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1243 - SOAP 1.2 two-way message with a duplicate action header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate action header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:Action) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeader/wsa:Action = 'http://message.id/test' or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:Action'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1244 - SOAP 1.2 two-way message with a duplicate message ID header. (REQUIRED)

Features: soap08

Two-way message exchange containing a duplicate message ID header. RelatesTo in the reply is in essence meaningless, hence this test being informational.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:MessageID) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeader/wsa:MessageID = 'http://message.id/test' or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:MessageID'))
test1246 - SOAP 1.2 two-way message with a duplicate To header. (OPTIONAL)

Features: soap08

Two-way message exchange containing a duplicate To header, generating a ProblemHeaderQName fault detail.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:To) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:To'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1247 - SOAP 1.2 two-way message with a duplicate To header. (OPTIONAL)

Features: soap08

Two-way message exchange containing a duplicate To header, generating an InvalidCardinality subcode/subcode.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:To) = 2
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidAddressingHeader'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:InvalidCardinality'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1248 - SOAP 1.2 two-way message with no action header. (OPTIONAL)

Features: soap07

Two-way message exchange containing no action header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:Action) = 0
  2. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:MessageAddressingHeaderRequired'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemHeaderQName/(resolve-QName(.,.) = xs:QName('wsa:Action'))
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1249 - SOAP 1.2 two-way message with a duplicate To header and a ReplyTo of none. (INFORMATIONAL)

Features: soap08 core10

Two-way message exchange containing a duplicate To header and ReplyTo of none. An InvalidAddressingHeader fault should be generated, but not sent due to the ReplyTo header.

SOAP12-HTTP-In-Out-Fault

  1. A sends a message to B.
    • count(soap12:Envelope/soap12:Header/wsa:To) = 2
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
  2. B sends an [empty] message to A.
test1150 - SOAP 1.1 two-way message with a non-anonymous ReplyTo address. (REQUIRED)

Features: core04 core05 soap04

Two-way message exchange containing an Action and a ReplyTo identifying an endpoint. All other fields are defaulted.

SOAP11-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address
    • not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
  2. B sends an [empty] message to A.
  3. B sends a reply to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
  4. A sends an [empty] message to B.
test1250 - SOAP 1.2 two-way message with a non-anonymous ReplyTo address. (REQUIRED)

Features: core04 core05 soap02

Two-way message exchange containing an Action and a ReplyTo identifying an endpoint. All other fields are defaulted.

SOAP12-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
  2. B sends an [empty] message to A.
  3. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
  4. A sends an [empty] message to B.
test1251 - SOAP 1.2 two-way message with a non-anonymous ReplyTo address and a Reply targeted to none. (REQUIRED)

Features: core04 core05 soap02 soap08

Two-way message exchange containing an Action, a ReplyTo identifying an endpoint, and a ReplyTo targeted to none. All other fields are defaulted.

SOAP12-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo[not(@soap12:role)]/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
    • soap12:Envelope/soap12:Header/wsa:ReplyTo[@soap12:role='http://www.w3.org/2003/05/soap-envelope/role/none']/wsa:Address
  2. B sends an [empty] message to A.
  3. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
  4. A sends an [empty] message to B.
test1152 - SOAP 1.1 two-way message with a non-anonymous ReplyTo address and a FaultTo targeted to none. (REQUIRED)

Features: core04 core05 soap02 soap08

Two-way message exchange containing an Action, a ReplyTo identifying an endpoint, and a FaultTo targeted to none. All other fields are defaulted. Intended to simulate an application fault, so ReplyTo won't be used.

SOAP11-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address
    • not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap11:Envelope/soap11:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
    • soap11:Envelope/soap11:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
  2. B sends an [empty] message to A.
test1252 - SOAP 1.2 two-way message with a non-anonymous ReplyTo address and a FaultTo targeted to none. (REQUIRED)

Features: core04 core05 soap02 soap08

Two-way message exchange containing an Action, a ReplyTo identifying an endpoint, and a FaultTo targeted to none. All other fields are defaulted. Intended to simulate an application fault, so ReplyTo won't be used.

SOAP12-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = '')
    • not(soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/anonymous')
    • soap12:Envelope/soap12:Header/wsa:FaultTo/wsa:Address = 'http://www.w3.org/2005/08/addressing/none'
    • not(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']) or count(../following-sibling::log:message[@testcase=current()/../@testcase and @message!='1']/log:content/*) = 0
  2. B sends an [empty] message to A.
test1260 - SOAP 1.2 two-way message with an unreachable ReplyTo address. (INFORMATIONAL)

Features: core04 core05 soap02 soap07

Two-way message exchange containing an Action and a ReplyTo identifying an unreachable endpoint. All other fields are defaulted.

SOAP12-HTTP-In-Out-Callback

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:ReplyTo/wsa:Address = 'http://example.org/unreachable'
  2. B sends an [empty] message to A.
  3. B sends a fault to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://www.w3.org/2005/08/addressing/fault'
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Value/(resolve-QName(.,.) = xs:QName('soap12:Sender'))
    • soap12:Envelope/soap12:Body/soap12:Fault/soap12:Code/soap12:Subcode/soap12:Value/(resolve-QName(.,.) = xs:QName('wsa:DestinationUnreachable'))
    • not(soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemIRI) or soap12:Envelope/soap12:Body/soap12:Fault/soap12:Detail/wsa:ProblemIRI = 'http://example.org/unreachable'
  4. A sends an [empty] message to B.
test1170 - SOAP 1.1 two-way message with wsa:From. (OPTIONAL)

Features: core04 core05 core06 core09

Two-way message exchange containing an Action and a From marked with mustUnderstand. All other fields are defaulted. It is checked that the receiver understands the message.

SOAP11-HTTP-In-Out

  1. A sends a message to B.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap11:Envelope/soap11:Header/wsa:MessageID
    • soap11:Envelope/soap11:Header/wsa:From/wsa:Address
    • soap11:Envelope/soap11:Header/wsa:From/@soap11:mustUnderstand and soap11:Envelope/soap11:Header/wsa:From/@soap11:mustUnderstand cast as xs:boolean = true()
  2. B sends a reply to A.
    • soap11:Envelope/soap11:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap11:Envelope/soap11:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap11:Envelope/soap11:Header/wsa:MessageID
    • not(soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType) or soap11:Envelope/soap11:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'
test1270 - SOAP 1.2 two-way message with wsa:From. (OPTIONAL)

Features: core04 core05 core06 core09

Two-way message exchange containing an Action and a From marked with mustUnderstand. All other fields are defaulted. It is checked that the receiver understands the message.

SOAP12-HTTP-In-Out

  1. A sends a message to B.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoIn'
    • soap12:Envelope/soap12:Header/wsa:MessageID
    • soap12:Envelope/soap12:Header/wsa:From/wsa:Address
    • soap12:Envelope/soap12:Header/wsa:From/@soap12:mustUnderstand and soap12:Envelope/soap12:Header/wsa:From/@soap12:mustUnderstand cast as xs:boolean = true()
  2. B sends a reply to A.
    • soap12:Envelope/soap12:Header/wsa:Action = 'http://example.org/action/echoOut'
    • soap12:Envelope/soap12:Header/wsa:RelatesTo = ../preceding-sibling::log:message[@testcase=current()/../@testcase and @message='1']/log:content/soap12:Envelope/soap12:Header/wsa:MessageID
    • not(soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType) or soap12:Envelope/soap12:Header/wsa:RelatesTo/@RelationshipType = 'http://www.w3.org/2005/08/addressing/reply'

Generated from testcases.xml using testcases.xsl.
$Date: 2007/07/09 20:33:20 $

Web Services Addressing Test Suite

Paul Downey, David Illsley, Jonathan Marsh, Editors
Bob Freund, Chair

Hugo Haas, Philippe Le Hégaret, W3C Team contacts