Please refer to theerrata for this document, which may include normative corrections.
See also translations.
Copyright © 2007 W3C® (MIT,ERCIM,Keio), All Rights Reserved. W3Cliability,trademark anddocument use rules apply.
This document draws on assertionsfound in the SOAP Version 1.2 specifications[SOAP Part 1],[SOAP Part 2], and provides a set of tests in order to show whether the assertions are implemented in a SOAPprocessor.
A SOAP 1.2 implementation that passes all of the tests specified in this document may claim to conform to the SOAP 1.2 Test Suite, 2007 04 27. It is incorrect to claim to be compliant with the SOAP Version 1.2 specifications merely by passing successfully all the tests provided in this test suite. It is also incorrect to claim that an implementation is non compliant with the SOAP Version 1.2 specifications based on its failure to pass one or more of the tests in this test suite.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in theW3C technical reports index at http://www.w3.org/TR/.
This document is aW3C Recommendation. It has been produced by theXML Protocol Working Group, whichis part of theWeb ServicesActivity.This second edition updates and supersedes theoriginal Recommendation by the inclusion of the accumulatederrata.Changes between these two versions are described in adiff document.
This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.
Please report errors in this document to the public mailing listxmlp-comments@w3.org(archive).It is inappropriate to send discussion email to this address.
SOAP Version 1.2 supercedes all previous versions of SOAP, including SOAP Version 1.1[soap11]
The SOAP 1.2 Implementation Report can be found athttp://www.w3.org/2000/xp/Group/2/03/soap1.2implementation.html.Additional implementation experience of the RequestOptional Response MEP can be found in the WSDL 2.0 implementation testing here:http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/Dashboard.html.
This document is governed by the24 January 2002 CPP as amended by theW3C Patent Policy Transition Procedure. W3C maintains apublic list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes containsEssential Claim(s) must disclose the information in accordance withsection 6 of the W3C Patent Policy.
A list of currentW3C Recommendations andother technical reports can be found athttp://www.w3.org/TR.
1.Introduction
2.SOAP 1.2 Assertions
3.SOAP 1.2 Test Collection
4.References
A.Acknowledgements (Non-Normative)
1.Introduction
2.SOAP 1.2 Assertions
2.1SOAP 1.2, Part 1 Assertions
2.2SOAP 1.2, Part 2 Assertions
3.SOAP 1.2 Test Collection
3.1Introduction
3.2 Header Blocks Used by the Test Collection
3.2.1echoOk
3.2.2responseOk
3.2.3Ignore
3.2.4requiredHeader
3.2.5DataHolder
3.2.6concatAndForwardEchoOk
3.2.7concatAndForwardEchoOkArg1
3.2.8concatAndForwardEchoOkArg2
3.2.9validateCountryCode
3.2.10validateCountryCodeFault
3.2.11echoResolvedRef
3.2.12responseResolvedRef
3.3Body Blocks Used by the Test Collection
3.3.1echoOk
3.3.2responseOk
3.3.3echoHeader
3.3.4echoHeaderResponse
3.4RPC Methods/Procedures Used by the Test Collection
3.4.1returnVoid
3.4.2echoStruct
3.4.3echoStructArray
3.4.4echoStructAsSimpleTypes
3.4.5echoSimpleTypesAsStruct
3.4.6echoNestedStruct
3.4.7echoNestedArray
3.4.8echoFloatArray
3.4.9echoStringArray
3.4.10echoIntegerArray
3.4.11echoBase64
3.4.12echoBoolean
3.4.13echoDate
3.4.14echoDecimal
3.4.15echoFloat
3.4.16echoString
3.4.17countItems
3.4.18isNil
3.5Tests
4.References
4.1Normative References
4.2Informative References
A.Acknowledgements (Non-Normative)
This document draws on assertions found in theSOAP Version 1.2 specifications, and provides a set oftests in order to show whether the assertions areimplemented in a SOAP processor.The primarygoal of this document is to foster interoperability between different SOAP1.2 implementations. The document is intended to help implementors towrite SOAP processors that comply with SOAP 1.2 specification, andinteroperate with other SOAP processors that comply with SOAP 1.2specification.
A SOAP 1.2 implementation that passes all of the tests specified in thisdocument may claim to conform to the SOAP 1.2 Test Suite $Date2007/04/27 $.
Even though the purpose of the SOAP 1.2 Test Suite is to facilitate thecreation of interoperable implementations, conformance to the SOAP 1.2Test Suite does not imply conformance to the SOAP 1.2 specifications;there are mandatory requirements of the specifications that are not testedby the suite (as a simple example, SOAP 1.2 requires that every legalvalue of a role name is accepted, and all illegal ones rejected). Animplementation may be said to be SOAP 1.2 conformant if and only if itit satisfies the conformance requirements specified in SOAP 1.2specifications. The W3C doesnot at this time provide for any comprehensive means of testing for suchconformance.
Similarly, an implementation may conform to the SOAP 1.2 specificationseven if it does not support all capabilities tested by the SOAP 1.2 TestSuite. SOAP 1.2 specifications admits special purpose implementations,such as those in dedicated controllers, which may send and receive only avery limited suite of messages; the requirement is that whatever is done bedone correctly. An implementation may conform to the SOAP 1.2specifications even if it does not support all capabilities tested by the SOAP1.2 Test Suite. The test suite defines higherlevel application semantics to enable testing and facilitate interoperableimplementations. It is not necessary for a SOAP processor to supportthese higher level semantics to be SOAP 1.2 compliant.
Assertions for SOAP Version 1.2 Part 1 and Part 2 are numberedsequentially (1..n). "Location of the assertion" points the source of theassertion (section or subsection number) in Part 1 or Part 2. Hyperlinks areused to cross-reference to the original specification section/subsection.
Some of the tests in this document use SOAPBuilders interoperability tests as a started point, but have been modified to conform to the SOAP 1.2 specifications.
For an implementation to claim conformance with the SOAP Version 1.2 specification, it MUST correctly implement all mandatory ("MUST") requirements expressed in Part 1 of the SOAP Version 1.2 specification (this document) that pertain to the activity being performed. Note that an implementation is not mandated to implement all the mandatory requirements.
SOAP does not require that XML Schema processing (assessment orvalidation) be performed to establish the correctness or 'schema implied'values ofelement andattribute information items defined by Parts 1 and 2of this specification. The values associated withelement andattributeinformation items defined in this specification MUST be carried explicitlyin the transmitted SOAP message except where stated otherwise (see 5. SOAP Message Construct).
Unless otherwise stated, all lexical forms are supported for each such attribute, and lexical forms representing the same value in the XML Schema value space are considered equivalent for purposes of SOAP processing, e.g. the boolean lexical forms "1" and "true" are interchangeable.
The roles assumed by a node MUST be invariant during the processing of an individual SOAP message.
This assertion cannot be fully tested, as a SOAP node is allowed to process and remove SOAP headers, reinsert them and send them upstream.
Mandatory SOAP header blocks are presumed to somehow modify the semantics of other SOAP header blocks or SOAP body elements. Therefore, for every mandatory SOAP header block targeted to a node, that node MUST either process the header block or not process the SOAP message at all, and instead generate a fault (see 2.6 Processing SOAP Messages and 5.4 SOAP Fault).
Unless otherwise stated, processing of all generated SOAP messages, SOAP faults and application-level side effects MUST be semantically equivalent to performing the following steps separately, and in the order given.
Determine the set of roles in which the node is to act. The contents of the SOAP envelope, including any SOAP header blocks and the SOAP body, MAY be inspected in making such determination.
Identify all header blocks targeted at the node that are mandatory.
If one or more of the SOAP header blocks identified in the preceding step are not understood by the node then generate a single SOAP fault with the
Value
ofCode
set to "env:MustUnderstand" (see 5.4.8 SOAP mustUnderstand Faults). If such a fault is generated, any further processing MUST NOT be done. Faults relating to the contents of the SOAP body MUST NOT be generated in this step.Note:
Throughout this document, the term "
Value
ofCode
" is used as a shorthand for "value oftheValue
childelement informationitem of theCode
elementinformation item" (see 5.4.1 SOAP Code Element).Process all mandatory SOAP header blocks targeted at the node and, inthe case of an ultimate SOAP receiver, the SOAP body. A SOAP node MAY also choose to process non-mandatory SOAP header blocks targeted at it.
In the case of a SOAP intermediary, and where the SOAP message exchange pattern and results of processing (e.g. no fault generated) require that the SOAP message be sent further along the SOAP message path, relay the message as described in section 2.7 Relaying SOAP Messages.
The selection of a fault need not be predicated on the application of the "MUST", "SHOULD" or "MAY" keywords to the generation of the fault, with the exception that if one or more of the prescribed faults is qualified with the "MUST" keyword, then any one fault from the set of possible faults MUST be generated.
Forwarding SOAP intermediaries MUST process the message according to the SOAP processing model defined in 2.6 Processing SOAP Messages. In addition, when generating a SOAP message for the purpose of forwarding, they MUST:
Remove all processed SOAP header blocks.
Remove all non-relayable SOAP header blocks that were targeted at the forwarding node but ignored during processing.
Retain all relayable SOAP header blocks that were targeted at the forwarding node but ignored during processing.
All XML infoset properties of a message MUST be preserved with thefollowing exceptions:
Theelement information item for a header block targeted at an intermediary MAY be removed, by that intermediary, from the [children] property of the SOAP
Header
element information item as detailed in 2.7.2 SOAP Forwarding Intermediaries.Element information items for additional header blocks MAY be added to the [children] property of the SOAP
Header
element information item as detailed in 2.7.2 SOAP Forwarding Intermediaries.Whitespace character information items MAY be removed from the [children] property of the SOAP
Envelope
element information item.Whitespace character information items MAY be added to the [children] property of the SOAP
Envelope
element information item.Whitespace character information items MAY be removed from the [children] property of the SOAP
Header
element information item.Whitespace character information items MAY be added to the [children] property of the SOAP
Header
element information item.Comment information items MAY be added to the [children] property of the SOAP
Envelope
element information item.Comment information items MAY be removed from the [children] property of the SOAP
Envelope
element information item.Comment information items MAY be added to the [children] property of the SOAP
Header
element information item.Comment information items MAY be removed from the [children] property of the SOAP
Header
element information item.Attribute information items MAY be added to the [attributes] property of the SOAP
Envelope
element information item.Attribute information items MAY be added to the [attributes] property of the SOAP
Header
element information item.Attribute information items MAY be added to the [namespace attributes] property of the SOAP
Envelope
element information item.Attribute information items MAY be added to the [namespace attributes] property of the SOAP
Header
element information item.SOAP roleattribute information items that are present inthe [attributes] property of SOAP header blockelement information items may be transformed as described in 5.2.2 SOAP role Attribute.
SOAP mustUnderstandattribute information items that are present in the [attributes] property of SOAP header blockelement information items may be transformed as described in 5.2.3 SOAP mustUnderstand Attribute.
SOAP relayattribute information items that are present in the [attributes] property of SOAP header blockelement information items may be transformed as described in 5.2.4 SOAP relay Attribute.
The [base URI] property of thedocument information item need not be maintained.
The [base URI] property ofelement information items MAY be changed or removed.
The [character encoding scheme] property of thedocument information item MAY be changed or removed.
Allnamespace information items in the [in-scope namespaces] ofelement information items MUST be preserved. Additional namespace information items MAY be added.
A SOAP node MAY support multiple envelope versions. However, when processing a message, a SOAP node MUST use the semantics defined by the version of that message.
If a SOAP node receives a message whose version is not supported it MUST generate a fault (see 5.4 SOAP Fault) with a Value of Code set to "env:VersionMismatch". Any other malformation of the message construct MUST result in the generation of a fault with a Value of Code set to "env:Sender".
The specification of a feature MUST include thefollowing:
A URI used to name the feature. This enables the feature to be unambiguously referenced in description languages or during negotiation.
The information (state) required at each node to implement the feature.
The processing required at each node in order to fulfill the obligations of the feature including any handling of communication failures that might occur in the underlying protocol (see also 4.2 Binding Framework).
The information to be transmitted from node to node.
The specification of a message exchange pattern MUST:
As mandated by 3.1.1 Requirements on Features, provide a URI to name the MEP.
Describe the life cycle of a message exchange conforming to the pattern.
Describe the temporal/causal relationships, if any, of multiple messages exchanged in conformance with the pattern (e.g. responses follow requests and are sent to the originator of the request.)
Describe the normal and abnormal termination of a message exchange conforming to the pattern.
A module specification adheres to the following rules. It:
MUST identify itself with a URI. This enables the module to be unambiguously referenced in description languages or during negotiation.
MUST declare the features provided by a module (see 3.1 SOAP Features).
MUST clearly and completely specify the content and semantics of the SOAP header blocks used to implement the behavior in question, including if appropriate any modifications to the SOAP Processing model. The SOAP extensibility model does not limit the extent to which SOAP can be extended. Nor does it prevent extensions from modifying the SOAP processing model from that described in 2. SOAP Processing Model
MAY utilize the property conventions defined in[SOAP Part 2], sectionA Convention for Describing Features and Bindings, in describing the functionality that the module provides. If these conventions are followed, the module specification MUST clearly describe the relationship between the abstract properties and their representations in the SOAP envelope. Note that it is possible to write a feature specification purely in terms of abstract properties, and then write a separate module specification which implements that feature, mapping the properties defined in the feature specification to SOAP header blocks in the SOAP module.
MUST clearly specify any known interactions with or changes to the interpretation of the SOAP body. Furthermore, it MUST clearly specify any known interactions with or changes to the interpretation of other SOAP features and SOAP modules For example, we can imagine a module which encrypts and removes the SOAP body, inserting instead a SOAP header block containing a checksum and an indication of the encryption mechanism used. The specification for such a module would indicate that the decryption algorithm on the receiving side is to be runprior to any other modules which rely on the contents of the SOAP body.
A SOAP message is specified as an XML infoset that consists of adocument information item with exactly one member in its [children] property, which MUST be the SOAP
Envelope
element information item (see 5.1 SOAP Envelope). Thiselement information item is also the value of the [document element] property.
The XML infoset of a SOAP message MUST NOT contain adocument type declaration information item.
SOAP messages sent by initial SOAP senders MUST NOT containprocessing instruction information items. SOAP intermediaries MUST NOT insertprocessing instruction information items in SOAP messages they relay. SOAP receivers receiving a SOAP message containing aprocessing instruction information item SHOULD generate a SOAP fault with the
Value
ofCode
set to "env:Sender".
The SOAP
Envelope
element information item has:
A [local name] of
Envelope
.A [namespace name] of"http://www.w3.org/2003/05/soap-envelope".
Zero or more namespace qualifiedattributeinformation items amongst its [attributes] property.
One or twoelement information items in its[children] property in order as follows:
An optional
Header
element information item (see 5.2 SOAP Header).A mandatory
Body
element information item (see 5.3 SOAP Body).
The
encodingStyle
attribute information item MAY appear on the following:
A SOAP header block (see 5.2.1 SOAP Header block).
A childelement information item of the SOAP
Body
element information item (see 5.3.1 SOAP Body child Element) if that child is not a SOAP Faultelement information item (see 5.4 SOAP Fault).A childelement information item of the SOAP
Detail
element information item (see 5.4.5.1 SOAP detail entry).Any descendent of 1, 2, and 3 above.
The
encodingStyle
attribute information item MUST NOT appear on any element other than above in a SOAP message infoset.
The scope of the
encodingStyle
attribute information item is that of its ownerelement information item and thatelement information item's descendants, unless a descendant itself carries such anattribute information item.
If no
encodingStyle
attribute information item is in scope for a particularelement information item or the value of such anattribute information item is "http://www.w3.org/2003/05/soap-envelope/encoding/none" then no claims are made regarding the encoding style of thatelement information item and its descendants.
The
Header
element information item has:
A [local name] of
Header
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
Zero or more namespace qualifiedattribute information items in its [attributes] property.
Zero or more namespace qualifiedelement information items in its [children] property.
Each SOAP header blockelement information item:
MUST have a [namespace name] property which has a value, that is the name of the element MUST be namespace qualified.
MAY have any number ofcharacter information item children. Childcharacter information items whose character code is amongst the whitespace characters as defined by[XML 1.0] are considered significant.
MAY have any number ofelement information item children. Suchelement information items MAY be namespace qualified.
MAY have zero or moreattribute information items in its [attributes] property. Among these MAY be any or all of the following, which have special significance for SOAP processing:
encodingStyle
attribute information item (see 5.1.1 SOAP encodingStyle Attribute ).
role
attribute information item (see 5.2.2 SOAP role Attribute).
mustUnderstand
attribute information item (see 5.2.3 SOAP mustUnderstand Attribute).
relay
attribute information item (see 5.2.4 SOAP relay Attribute ).
The
role
attribute information item has the following XML infoset properties:
A [local name] of
role
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
A [specified] property with a value of "true".
The type of the
role
attribute information item isxs:anyURI. The value of therole
attribute information item is a URI that names a role that a SOAP node can assume.
A SOAP sender generating a SOAP message SHOULD use the
role
attribute information item only on SOAP header blocks. A SOAP receiver MUST ignore thisattribute information item if it appears on descendants of a SOAP header block or on a SOAP body childelement information item (or its descendents).
The
mustUnderstand
attribute information item has the following XML infoset properties:
A [local name] of
mustUnderstand
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
A [specified] property with a value of "true".
The type of the
mustUnderstand
attribute information item isxs:boolean.
A SOAP sender generating a SOAP message SHOULD use the
mustUnderstand
attribute information item only on SOAP header blocks. A SOAP receiver MUST ignore thisattribute information item if it appears on descendants of a SOAP header block or on a SOAP body childelement information item (or its descendents).
A SOAP sender generating a SOAP message SHOULD use the
relay
attribute information item only on SOAP header blocks. A SOAP receiver MUST ignore thisattribute information item if it appears on descendants of a SOAP header block or on a SOAP body childelement information item (or its descendents).
The
Body
element information item has:
A [local name] of
Body
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
Zero or more namespace qualifiedattribute information items in its [attributes] property.
Zero or more namespace qualifiedelement information items in its [children] property.
The
Fault
element information item has:
A [local name] of
Fault
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
Two or more childelement information items in its [children] property in order as follows:
A mandatory
Code
element information item (see 5.4.1 SOAP Code Element ).A mandatory
Reason
element information item (see 5.4.2 SOAP Reason Element ).An optional
Node
element information item (see 5.4.3 SOAP Node Element ).An optional
Role
element information item (see 5.4.4 SOAP Role Element ).An optional
Detail
element information item (see 5.4.5 SOAP Detail Element). ).
The
Code
element information item has:
A [local name] of
Code
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.One or two childelement information items in its [children] property, in order, as follows:
A mandatory
Value
element information item as described below (see 5.4.1.1 SOAP Value element (with Code parent))An optional
Subcode
element information item as described below (see 5.4.1.2 SOAP Subcode element).
The
Subcode
element information item has:
A [local name] of
Subcode
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.One or two childelement information items in its [children] property, in order, as follows:
A mandatory
Value
element information item as described below (see 5.4.1.3 SOAP Value element (with Subcode parent)).An optional
Subcode
element information item (see 5.4.1.2 SOAP Subcode element).
The
Reason
element information item has:
A [local name] of
Reason
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.One or more
Text
element information item children (see 5.4.2.1 SOAP Text Element). Each childText
element information item SHOULD have a different value for itsxml:lang
attribute information item.The type of the
Reason
element information item isenv:faultReason.
The
Text
element information item has:
A [local name] of
Text
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.A mandatoryattribute information item with a [local name] of
lang
and [namespace name] of "http://www.w3.org/XML/1998/namespace". Note that the definition in of thelang
attribute information item requires that the [prefix] is "xml" or any capitalization thereof (see[XML 1.0],Language Identification).Any number ofcharacter information item children. Childcharacter information items whose character code is amongst the whitespace characters as defined by[XML 1.0] are considered significant.
The type of the
Text
element information item isenv:reasontext
The
Node
element information item has:
A [local name] of
Node
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.The type of the
Node
elementinformation item isxs:anyURI.
SOAP nodes that do not act as the ultimate SOAP receiver MUST include this element information item.
The
Role
element information item has:
A [local name] of
Role
.A [namespace name] of
http://www.w3.org/2003/05/soap-envelope
.The type of the
Role
elementinformation item isxs:anyURI.The value of the
Role
element informationitem MUST be one of the roles assumed by the nodeduring processing of the message (see 2.2 SOAP Roles and SOAP Nodes).
The
Upgrade
element information item has:
A [local name] of
Upgrade
.A [namespace name] of"http://www.w3.org/2003/05/soap-envelope".
One or more
SupportedEnvelope
element information items in its [children] property in 5.4.7.2 SOAP SupportedEnvelope Element.The
Upgrade
element information item MUST NOT have anencodingStyle
attribute information item.
Each
NotUnderstood
header blockelement information item has:
A [local name] of
NotUnderstood
.A [namespace name] of "http://www.w3.org/2003/05/soap-envelope".
A
qname
attribute information item in its [attributes] property as described in 5.4.8.2 SOAP QName Attribute.The
NotUnderstood
element information item MUST NOT have anencodingStyle
attribute information item.
SOAP does not define a base URI but relies on the mechanisms defined in [XML Base] and [RFC 3986] for establishing a base URI against which relative URIs can be made absolute.
The use of IP addresses in URIs SHOULD be avoided whenever possible (see [RFC 1900]. However, when used, the literal format for IPv6 addresses in URIs as described by [RFC 3986] SHOULD be supported.
Any SOAP node MUST be able to handle the length of any URI that it publishes and both SOAP senders and SOAP receivers SHOULD be able to deal with URIs of at least 2048 characters in length.
If a SOAP node supports versioning from SOAP 1.1 toSOAP 1.2, then the SOAP node MUST implement the rulesdescribed in this appendix.
The rules for dealing with the possible SOAP/1.1 and SOAPVersion 1.2 interactions are as follows:
A SOAP/1.1 node receiving a SOAP Version 1.2 message will according to SOAP/1.1 generate a version mismatch SOAP fault based on a SOAP/1.1 message construct. That is, the envelope will have a [local name] of
Envelope
and a [namespace name] of "http://schemas.xmlsoap.org/soap/envelope/".A SOAP Version 1.2 node receiving a SOAP/1.1 message either:
MAY process the message as a SOAP/1.1 message (ifsupported), or
MUST generate a version mismatch SOAPfault based on a SOAP/1.1 message construct followingSOAP/1.1 semantics using a SOAP/1.1 binding to theunderlying protocol. TheSOAP fault SHOULD include an
Upgrade
SOAPheader block as defined in this specification (see5.4.7 VersionMismatch Faults) indicating support for SOAPVersion 1.2. This allows a receiving SOAP/1.1 node tocorrectly interpret the SOAP fault generated by theSOAP Version 1.2 node.
The requirement on the behavior of SOAP 1.1 compliant SOAP node will not be tested by the test collection.
When serializing a graph for transmissioninside a SOAP message,a representation that deserializes to the identical graph MUSTbe used; when multiple such representations are possible, anyof them MAY be used. When receiving an encoded SOAP message,all representations MUST be accepted.
The graph node at which an edge terminates is determined by examination of the serialized XML as follows:
If theelement information item representing the edge does not have a
ref
attribute information item (see 3.1.5.2 ref Attribute Information Item) among its attributes then thatelement information item is said torepresent a node in the graph and the edge terminates at that node. In such cases theelement information item represents both a graph edge and a graph nodeIf theelement information item representing the edge does have a
ref
attribute information item (see 3.1.5.2 ref Attribute Information Item) among its attributes, then the value of thatattribute information item MUST be identical to the value of exactly oneid
attribute information item ( see 3.1.5.1 id Attribute Information Item) in the same envelope. In this case the edge terminates at the graph node represented by theelement information item on which theid
attribute information item appears. Thatelement information item MUST be in the scope of anencodingStyle
attribute with a value of "http://www.w3.org/2003/05/soap-encoding" (see SOAP 1.2 Part 1SOAP encodingStyle Attribute).All nodes in the graph are encoded as described in 1 above. Additional inbound edges for multi reference graph nodes are encoded as described in 2 above.
For a graph edge which is distinguished by position:
The ordinal position of the graph edge corresponds to the position of the childelement information item relative to its siblings
The [local name] and [namespace name] properties of the childelement information item are not significant.
The following rules apply to the encoding of a graph node that represents an "array":
The element information item representing an array node MAY have amongst its attributes an itemType attribute information item (see 3.1.4.1 itemType Attribute Information Item).
The element information item representing an array node MAY have amongst its attributes an arraySize attribute information item (see 3.1.6 arraySize Attribute Information Item).
If a graph edge does not terminate in a graph node then it can either be omitted from the serialization or it can be encoded as an element information item with an xsi:nil attribute information item.
The type name property of a graph node is a {namespace name,local name} pair computed as follows:
If theelement information item representing thegraph node has an
xsi:type
attributeinformation item among its attributes then the type name property of thegraph node is the value of thexsi:type
attributeinformation item.Note:
This attribute is of typexs:QName (see XML Schema[XML Schema Part 2]); its value consists of the pair {namespace name, local name}. Neither the prefix used toconstruct the QName nor any information relating to anydefinition of the type is considered to be part of thevalue. The SOAP graph carries only the qualified name of thetype.
Otherwise if the parentelement information item of theelement information item representing the graphnode has an
enc:itemType
attributeinformation item (see 3.1.4.1 itemType Attribute Information Item)among its attributes then the typename property of the graph node is the value of theenc:itemType
attribute information itemOtherwise the value of the type name property of the graphnode is unspecified.
The
itemType
attribute information item has the following Infoset properties:
A [local name] of
itemType
.A [namespace name] of "http://www.w3.org/2003/05/soap-encoding".
A [specified] property with a value of "true".
The type of the
itemType
attribute information item isxs:QName.
A
ref
attribute information item and anid
attribute information item MUST NOT appear on the sameelement information item.
The
arraySize
attribute information item has the following Infoset properties:
A [local name] of
arraySize
.A [namespace name] of "http://www.w3.org/2003/05/soap-encoding".
The type of the
arraySize
attribute information item isenc:arraySize. The value of thearraySize
attribute information item MUST conform to the following EBNF grammar
[1] arraySizeValue
::= ("*" | concreteSize) nextConcreteSize*
[2] nextConcreteSize
::= white space concreteSize
[3] concreteSize
::= [0-9]+
[4] white space
::= (#x20 | #x9 | #xD | #xA)+
The array's dimensions are represented by each item in the list of sizes (unspecified size in case of the asterisk). The number of items in the list represents the number of dimensions in the array. The asterisk, if present, MUST only appear in the first position in the list. The default value of the
arraySize
attribute information item is "*", that is by default arrays are considered to have a single dimension of unspecified size.
The
nodeType
attribute information item has the following Infoset properties:
A [local name] of
nodeType
.A [namespace name] of "http://www.w3.org/2003/05/soap-encoding".
A [specified] property with a value of "true".
The type of the
nodeType
attribute information item isenc:nodeType.The value of the
nodeType
attribute information item MUST, if present, be one of the strings "simple" or "struct" or "array". The value indicates what kind of a value this node represents - a simple value, a compound struct value or a compound array value respectively.
The SOAP
encodingStyle
attribute information item (see SOAP 1.2 Part 1[SOAP Part 1]SOAP encodingStyle Attribute) is used to indicate the encoding style of the RPC representation. The encoding thus specified MUST support the 2. SOAP Data Model.
An RPC invocation is modeled as a follows:
The invocation is represented by a single struct containing an outbound edge for each [in] or [in/out] parameter. The struct is named identically to the procedure or method name and the conventions of B. Mapping Application Defined Names to XML Names SHOULD be used to represent method names that are not legal XML names.
Each outbound edge has a label corresponding to the name of the parameter. The conventions of B. Mapping Application Defined Names to XML Names SHOULD be used to represent parameter names that are not legal XML names.
An RPC response is modeled as a follows:
The response is represented by a single struct containing an outbound edge for the return value and each [out] or [in/out] parameter. The name of the struct is not significant.
Each parameter is represented by an outbound edge with a label corresponding to the name of the parameter. The conventions of B. Mapping Application Defined Names to XML Names SHOULD be used to represent parameter names that are not legal XML names.
A non-void return value is represented as follows:
There MUST be an outbound edge with a local name of
result
and a namespace name of "http://www.w3.org/2003/05/soap-rpc" which terminates in a terminal nodeThe type of that terminal node is a xs:QName and its valueis the name of the outbound edge which terminates in theactual return value.
If the return value of the procedure is void then an outbound edge with a local name of
result
and a namespace name of "http://www.w3.org/2003/05/soap-rpc" MUST NOT be present.Invocation faults are handled according to the rules in 4.4 RPC Faults. If a protocol binding adds additional rules for fault expression, those MUST also be followed.
Additional information relevant to the encoding of an RPC invocation but not part of the formal procedure or method signature MAY be expressed in a SOAP envelope carrying an RPC invocation or response. Such additional information MUST be expressed as SOAP header blocks.
Errors arising during RPC invocations are reported according to the following rules:
A fault with a
Value
ofCode
set to "env:Receiver" SHOULD be generated when the receiver cannot handle the message because of some temporary condition, e.g. when it is out of memory.Note:
Throughout this document, the term "
Value
ofCode
" is used as a shorthand for "value oftheValue
childelement informationitem of theCode
elementinformation item" (see SOAP 1.2 Part 1[SOAP Part 1],SOAP CodeElement).A fault with a
Value
ofCode
set to "env:DataEncodingUnknown" SHOULD be generated when the arguments are encoded in a data encoding unknown to the receiver.A fault with a
Value
ofCode
set to "env:Sender" and aValue
ofSubcode
set to "rpc:ProcedureNotPresent" MAY be generated when the receiver does not support the procedure or method specified.Note:
Throughout this document, the term "
Value
ofSubcode
" is used as a shorthand for "value oftheValue
childelement informationitem of theSubcode
elementinformation item" (see SOAP 1.2 Part 1[SOAP Part 1],SOAP Subcodeelement).A fault with a
Value
ofCode
set to "env:Sender" and aValue
ofSubcode
set to "rpc:BadArguments" MUST be generated when the receiver cannot parse the arguments or when there is a mismatch in number and/or type of the arguments between what the receiver expects and what was sent.Other faults arising in an extension or from the application SHOULD be generated as described in SOAP 1.2 Part 1[SOAP Part 1]SOAP Fault Codes.
This message exchange pattern is identified by the URI (see SOAP 1.2 Part 1[SOAP Part 1]SOAP Features):
"http://www.w3.org/2003/05/soap/mep/request-response/"
All the rules in SOAP 1.2 Part 1[SOAP Part 1]Binding Framework regarding streaming of individual SOAP messages MUST be obeyed for both request and response SOAP messages.
This message exchange pattern is identified by the URI (see SOAP 1.2 Part 1[SOAP Part 1]SOAP Features):
"http://www.w3.org/2003/05/soap/mep/soap-response/"
The SOAP Web Method feature is identified by the URI (see SOAP 1.2 Part 1[SOAP Part 1]SOAP Features):
"http://www.w3.org/2003/05/soap/features/web-method/"
This binding is identified by the URI (see SOAP 1.2 Part 1[SOAP Part 1]SOAP Protocol Binding Framework):
"http://www.w3.org/2003/05/soap/bindings/HTTP/"
An implementation of the SOAP HTTP Binding MUST support the following message exchange patterns (MEPs):
"http://www.w3.org/2003/05/soap/mep/request-response/" (see 6.2 Request-Response Message Exchange Pattern)
"http://www.w3.org/2003/05/soap/mep/soap-response/" (see 6.3 SOAP Response Message Exchange Pattern)
The possible values of
http://www.w3.org/2003/05/soap/features/web-method/Method
property are restricted in this HTTP binding according to the MEP in use (as present inhttp://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/ExchangePatternName
):Table 14: Possible values of the Web-Method Method property
Unless otherwise stated all the tests in this test collection follow the following rules:
The tests use three SOAP nodes - Node A, Node B and Node C, identified by "http://example.org/ts-tests/A", "http://example.org/ts-tests/B", and "http://example.org/ts-tests/C" respectively. No other SOAP nodes must be used in communication between these three SOAP nodes.
Node A is the test client.
Node C is the ultimate destination.
Node B is a SOAP intermediary.
Node B must act in the role "http://example.org/ts-tests/B"
Node C must act in the role "http://example.org/ts-tests/C"
Node A, Node B and Node C implement some mechanism for routing so that the following messaging scenarios are allowed:
Node A sends message to Node C, Node C returns a response or fault message back to Node A (Node B is not involved in this scenario).
Node A sends message to Node B, Node B forwards the message to Node C or returns a fault back to Node A. Node C either:
returns a fault message to Node B and Node B forwards the fault message to Node A, OR
returns a response message to Node B and Node B forwards the response to Node A.
Unless otherwise specified the header blocks used by this test collection are in the namespace "http://example.org/ts-tests".
The semantics of processing this header block require the SOAP node targeted by this header block, to reply to the SOAP node from which it received the SOAP message containing this header. The reponse SOAP message must contain the header blockresponseOk containing the same information set as that inechoOk header block. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
This header block is generated as a result of processing theechoOk header block as described above. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to ignore this header block altogether. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
This header block is used in conjunction with the body blockechoHeader The semantics of processing the body blockechoHeader requires the SOAP node to reply to the SOAP node from which it received the SOAP message containing this header. The response SOAP message must contain the SOAP body blockechoHeaderResponse containing the same information set as that inrequiredHeader header block. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to ignore this header block altogether. This header is used for encapsulating data used by other headers and body blocks. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to take the character information item children of the header blockconcatAndForwardEchoOkArg2 concatenate it to the character information item children of the header blockconcatAndForwardEchoOkArg1 and forward the result to the downstream SOAP node using the header blockechoOK This header should not contain any character information item children.
The semantics of processing this header block require the SOAP node targeted by this header block, to ignore this header block altogether. This header is used for encapsulating data used by the headerconcatAndForwardEchoOk block. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to ignore this header block altogether. This header is used for encapsulating data used by the headerconcatAndForwardEchoOk block. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to validate that the character information item of this header consists of two letters only (ignoring whitespace). If this condition is not satisfied then a fault is required to be sent back to the sender of the message with the Value of the fault Code as env:Sender along with a header blockvalidateCountryCodeFault containing an explanation for the fault The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
This header block is used to cary information related to fault generated as a result of processing the header blockvalidateCountryCode as described above. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
The semantics of processing this header block require the SOAP node targeted by this header block, to reply to the SOAP node from which it received the SOAP message containing this header. The reponse SOAP message must contain the header blockresponseResolvedRef This header block contains one child element information item RelativeReference in the namespace "http://example.org/ts-tests". RelativeReference element information item is required to have the attribute information items xml:base, and xlink:href. TheresponseResolvedRef contains the resolved reference pointed to by xml:base and xlink:href.
Unless otherwise specified the body blocks used by this test collection are in the namespace "http://example.org/ts-tests".
The semantics of processing this body block require the SOAP node to reply to the SOAP node from which it received the SOAP message containing this block. The reponse SOAP message must contain the body blockresponseOk containing the same information set as that inechoOk body block. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
This body block is generated as a result of processing theechoOk body block as described above. The type of this header block is string in the namespace "http://www.w3.org/2001/XMLSchema".
This body block is used in conjuction with the header blockrequiredHeader The semantics of processing this body block require the SOAP node to reply to the SOAP node from which it received the SOAP message containing this block. The response SOAP message must contain the body blockechoHeaderResponse containing the same information set as that inrequiredHeader header block. This body block does not have any children element information items, or attribute information items.
Unless otherwise specified the procedure/method names used by this test collection are in the namespace "http://example.org/ts-tests".
In addition to types defined in the namespace "http://www.w3.org/2001/XMLSchema", the test collection uses the following types:
SOAPStruct
defined in the namespace "http://example.org/ts-tests/xsd". This type contains three child element information items in its children property as follows:
An element information item of type string in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type int in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type float in the namespace "http://www.w3.org/2001/XMLSchema".
SOAPStructStruct
defined in the namespace "http://example.org/ts-tests/xsd". This type contains four child element information items in its children property as follows:
An element information item of type int in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type float in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type string in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type SOAPStruct in the namespace "http://example.org/ts-tests/xsd".
SOAPArrayStruct
defined in the namespace "http://example.org/ts-tests/xsd". This type contains four child element information items in its children property as follows:
An element information item of type int in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type float in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item of type string in the namespace "http://www.w3.org/2001/XMLSchema".
An element information item representing an array of type string in the namespace "http://www.w3.org/2001/XMLSchema".
The encoding represented by the URI "http://example.org/PoisonEncoding" is an encoding that is not recognized by any of the SOAP nodes.
Some of the tests in this test collection, test SOAP 1.2 HTTP binding. The request and response messages for these tests contain HTTP start-line (request-line or status-line), HTTP headers required by the bindings and the XML payload. Additional HTTP headers can be generated in accordance with the rules for the binding specific expression of any optional features in use for this message exchange. In the tests, the value of the 'Content-Length' and 'Host' header should be replaced with an appropriate value.
This procedure/method does not have any input and output parameters and does not have a return value.
This procedure/method has one input parameter and a return value. Both are of type SOAPStruct in the name space "http://example.org/ts-tests/xsd". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type array of SOAPStruct in the name space "http://example.org/ts-tests/xsd". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and three return value. The input parameter is of type SOAPStruct in the name space "http://example.org/ts-tests/xsd". The first output parameter is of type int in the namespace "http://www.w3.org/2001/XMLSchema". The second output parameter is of type float in the namespace "http://www.w3.org/2001/XMLSchema". The third output parameter is of type string in the namespace "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the individual members of SOAPStruct in the input argument as output arguments, in the response.
This procedure/method has three input parameter and a return value. The first input parameter is of type int in the namespace "http://www.w3.org/2001/XMLSchema". The second input parameter is of type float in the namespace "http://www.w3.org/2001/XMLSchema". The third input parameter is of type string in the namespace "http://www.w3.org/2001/XMLSchema". The return type is SOAPStruct in the name space "http://example.org/ts-tests/xsd". The semantics of this method consists of using the input arguments to construct an instance of SOAPStruct and returning the result in the response.
This procedure/method has one input parameter and a return value. Both are of type SOAPStructStruct in the name space "http://example.org/ts-tests/xsd". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type SOAPArrayStruct in the name space "http://example.org/ts-tests/xsd". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type array of float in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type array of string in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type array of int in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type base64Binary in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type boolean in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type date in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type decimal in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type float in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. Both are of type string in the name space "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the input argument in the response.
This procedure/method has one input parameter and a return value. The input parameter is of type array of string in the name space "http://www.w3.org/2001/XMLSchema" and the type of the return value is int in the namespace "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning the cardinality of the input array argument in the response.
This procedure/method has one input parameter and a return value. The input parameter is of type string in the name space "http://www.w3.org/2001/XMLSchema" and the type of the return value is boolean in the namespace "http://www.w3.org/2001/XMLSchema". The semantics of this method consists of returning a boolean 'true', if the input argument is absent or has xsi:nil attribute with a value of '1'. A boolean 'false' is returned otherwise.
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Ignore xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B"> foo </test:Ignore> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> <test:Ignore xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B"> foo </test:Ignore> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/none"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/none"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" env:mustUnderstand="false"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" env:mustUnderstand="true"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" env:mustUnderstand="wrong"> foo </test:echoOK> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:mustUnderstand value is not boolean </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests"/> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/none"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/none"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/none" env:mustUnderstand="true"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1" env:role="http://example.org/ts-tests/B"> foo </test:Unknown> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> <env:Node>http://example.org/ts-tests/B</env:Node> <env:Role>http://example.org/ts-tests/B</env:Role> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand = "1"> foo </test:echoOk> </env:Header> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1"> foo </test:Unknown> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand="wrong"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:mustUnderstand value is not boolean </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://example.org/wrong-version/"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:VersionMismatch</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Wrong Version </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><!DOCTYPE env:Envelope SYSTEM "env.dtd"[]><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> DTD are not supported by SOAP 1.2 </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Node A sends to node C message with Processing Instruction node. Node C ignores PI and returns back Body with test:responseOk element.
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <?xml-stylesheet href="http://example.org/ts-tests/sub.xsl" type = "text/xsl"?> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <env:Body> <test:echoStringArray xmlns:test="http://example.org/ts-tests" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:array enc:itemType="xs:string" enc:arraySize="1"> <a> <b>1</b> </a> </test:array> </test:echoStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> rpc:BadArguments </env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Violation of encoding rules </env:Text> </env:Reason> <env:Detail> Array element declared as array of string contains elements with wrong content. </env:Detail> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:echoOk xmlns:test="http://example.org/ts-tests" > foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Incorrect SOAP Body element serialization </env:Text> </env:Reason> <env:Detail> SOAP Body must not have encodingStyle attribute information item. </env:Detail> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/Czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
A SOAP 1.1 sender, Node A, sends a 1.1 message to a SOAP Version 1.2 Node C. Node C may return back a VersionMismatch fault (tested here) or process the message (if it supports SOAP 1.1).
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope"> <env:Header> <env:Upgrade> <env:SupportedEnvelope qname="ns2:Envelope" xmlns:ns2="http://www.w3.org/2003/05/soap-envelope"/> </env:Upgrade> </env:Header> <env:Body> <env:Fault> <faultcode>env:VersionMismatch</faultcode> <faultstring>Wrong Version</faultstring> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:returnVoid xmlns:test="http://example.org/ts-tests"> </test:returnVoid> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:returnVoidResponse xmlns:test="http://example.org/ts-tests"> </test:returnVoidResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:requiredHeader xmlns:test="http://example.org/ts-tests" env:mustUnderstand="true"> foo </test:requiredHeader> </env:Header> <env:Body> <test:echoHeader xmlns:test="http://example.org/ts-tests"> </test:echoHeader> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:echoHeaderResponse xmlns:test="http://example.org/ts-tests"> foo </test:echoHeaderResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:DoesNotExist xmlns:test="http://example.org/ts-tests"> </test:DoesNotExist> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value>rpc:ProcedureNotPresent</env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Procedure Not Present </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" xmlns:env1="http://schemas.xmlsoap.org/soap/envelope/" env1:mustUnderstand="true"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> </env:Header> <env:Body> </env:Body></env:Envelope>
First set of messages.
Second set of messages.
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="false" env:role="http://example.org/ts-tests/C"> foo </test:Unknown> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand="0" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand="true" env:role="http://example.org/ts-tests/C"> foo </test:echoOk> <test:echoOk xmlns:test="http://example.org/ts-tests" env:mustUnderstand="1" env:role="http://example.org/ts-tests/C"> bar </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> <test:responseOk xmlns:test="http://example.org/ts-tests"> bar </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:mustUnderstand="9"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:mustUnderstand is a xsd:boolean </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" env:mustUnderstand="false"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStruct xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </inputStruct> </test:echoStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStructResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </return> </test:echoStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStructArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStructArray enc:itemType="ns1:SOAPStruct" enc:arraySize="2" xmlns:ns1="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </item> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">43</varInt> <varFloat xsi:type="xsd:float">0.123</varFloat> <varString xsi:type="xsd:string">bye world</varString> </item> </inputStructArray> </test:echoStructArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStructArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="ns1:SOAPStruct" enc:arraySize="2" xmlns:ns1="http://example.org/ts-tests/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </item> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">43</varInt> <varFloat xsi:type="xsd:float">0.123</varFloat> <varString xsi:type="xsd:string">bye world</varString> </item> </return> </test:echoStructArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStructAsSimpleTypes xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </inputStruct> </test:echoStructAsSimpleTypes> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStructAsSimpleTypesResponse xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <outputInt xsi:type="xsd:int">42</outputInt> <outputFloat xsi:type="xsd:float">0.005</outputFloat> <outputString xsi:type="xsd:string">hello world</outputString> </test:echoStructAsSimpleTypesResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoSimpleTypesAsStruct xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputInt xsi:type="xsd:int">42</inputInt> <inputFloat xsi:type="xsd:float">0.005</inputFloat> <inputString xsi:type="xsd:string">hello world</inputString> </test:echoSimpleTypesAsStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoSimpleTypesAsStructResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </return> </test:echoSimpleTypesAsStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoNestedStruct xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStructStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varStruct xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">99</varInt> <varFloat xsi:type="xsd:float">4.0699e-12</varFloat> <varString xsi:type="xsd:string">nested struct</varString> </varStruct> </inputStruct> </test:echoNestedStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoNestedStructResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStructStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varStruct xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">99</varInt> <varFloat xsi:type="xsd:float">4.0699e-12</varFloat> <varString xsi:type="xsd:string">nested struct</varString> </varStruct> </return> </test:echoNestedStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoNestedArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPArrayStruct" xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varArray enc:itemType="xsd:string" enc:arraySize="3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">red</item> <item xsi:type="xsd:string">blue</item> <item xsi:type="xsd:string">green</item> </varArray> </inputStruct> </test:echoNestedArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoNestedArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPArrayStruct"> xmlns:ns1="http://example.org/ts-tests/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varArray enc:itemType="xsd:string" enc:arraySize="3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">red</item> <item xsi:type="xsd:string">blue</item> <item xsi:type="xsd:string">green</item> </varArray> </return> </test:echoNestedArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoFloatArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputFloatArray enc:itemType="xsd:float" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:float">0.00000555</item> <item xsi:type="xsd:float">12999.9</item> </inputFloatArray> </test:echoFloatArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoFloatArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:float" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:float">5.55E-06</item> <item xsi:type="xsd:float">12999.9</item> </return> </test:echoFloatArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:itemType="xsd:string" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </inputStringArray> </test:echoStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:string" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </return> </test:echoStringArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </inputStringArray> </test:echoStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:string" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </return> </test:echoStringArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoIntegerArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:int">100</item> <item xsi:type="xsd:int">200</item> </inputIntegerArray> </test:echoIntegerArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoIntegerArrayResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:int" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:int">100</item> <item xsi:type="xsd:int">200</item> </return> </test:echoIntegerArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <test:echoBase64 xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputBase64 xsi:type="xsd:base64Binary"> YUdWc2JHOGdkMjl5YkdRPQ== </inputBase64> </test:echoBase64> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <test:echoBase64Response xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:base64Binary"> YUdWc2JHOGdkMjl5YkdRPQ== </return> </test:echoBase64Response> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoBoolean xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputBoolean xsi:type="xsd:boolean">1</inputBoolean> </test:echoBoolean> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoBooleanResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:boolean">1</return> </test:echoBooleanResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoDate xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputDate xsi:type="xsd:date">1956-10-18</inputDate> </test:echoDate> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoDateResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:date">1956-10-18</return> </test:echoDateResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoDecimal xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputDecimal xsi:type="xsd:decimal">123.45678901234567890</inputDecimal> </test:echoDecimal> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoDecimalResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:decimal">123.4567890123456789</return> </test:echoDecimalResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoFloat xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputFloat xsi:type="xsd:float">0.005</inputFloat> </test:echoFloat> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoFloatResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:float">0.005</return> </test:echoFloatResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <env:Header> <test:DataHolder xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:Data enc:id="data-1" xsi:type="xsd:string"> hello world </test:Data> </test:DataHolder> </env:Header> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString enc:ref="data-2" xsi:type="xsd:string" /> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value>enc:MissingID</env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Unresolved reference </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <env:Header> <test:DataHolder xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:Data enc:id="data" xsi:type="xsd:string"> hello world </test:Data> </test:DataHolder> </env:Header> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:inputString enc:ref="data" xsi:type="xsd:string" /> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string"> hello world </return> </test:echoStringResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoIntegerArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="1" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <a><b>1</b></a> </inputIntegerArray> </test:echoIntegerArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> rpc:BadArguments </env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Violation of encoding rules </env:Text> </env:Reason> <env:Detail> Array element declared as array of integers contains elements with wrong content. </env:Detail> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringArray xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:itemType="xsd:string" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item enc:id="data" xsi:type="xsd:string" enc:ref="data">hello</item> <item>world</item> </inputStringArray> </test:echoStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value>enc:MissingID</env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Violation of id and ref information items </env:Text> </env:Reason> <env:detail> A ref attribute information item and an id attribute information item MUST NOT appear on the same element information item. </env:detail> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:countItems xmlns:test="http://example.org/ts-tests" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:itemType="xsd:string" enc:arraySize="*"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </inputStringArray> </test:countItems> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:countItemsResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:int"> 2 </return> </test:countItemsResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:countItems xmlns:test="http://example.org/ts-tests" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:itemType="xsd:string" enc:arraySize="2 *"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </inputStringArray> </test:countItems> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> * may only be first arraySize value in list </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:concatAndForwardEchoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B" env:mustUnderstand="1"/> <test:concatAndForwardEchoOkArg1 xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B" env:mustUnderstand="1"> StringA </test:concatAndForwardEchoOkArg1> <test:concatAndForwardEchoOkArg2 xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/B" env:mustUnderstand="1"> StringB </test:concatAndForwardEchoOkArg2> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C" env:mustUnderstand="1"> StringAStringB </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> StringAStringB </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:validateCountryCode xmlns:test="http://example.org/ts-tests" env:role="http://example.org/ts-tests/C" env:mustUnderstand="1"> ABCD </test:validateCountryCode> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:validateCountryCodeFault xmlns:test="http://example.org/ts-tests"> Country code must be 2 letters. </test:validateCountryCodeFault> </env:Header> <env:Body> <env:Fault> <env:Code>env:Sender</env:Code> <env:Reason> <env:Text xml:lang="en-US"> Not a valid country code </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><!DOCTYPE foo [<!NOTATION application_xml SYSTEM 'http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml'>]><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> DTD are not supported by SOAP 1.2 </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><!DOCTYPE foo [<!ELEMENT Envelope (Body) ><!ELEMENT Body (echoOk) ><!ELEMENT echoOk (#PCDATA) >]><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> DTD are not supported by SOAP 1.2 </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' encoding='UTF-8'?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' standalone='yes'?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header > <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next" > foo </test:echoOk> </env:Header> <env:Body> </env:Body> </env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header><test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk> </env:Header></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:Body must be present in a SOAP 1.2 envelope </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header><test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk> </env:Header> <env:Body> </env:Body> <Trailer> </Trailer></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> A SOAP 1.2 envelope can contain only Header and Body </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" attr1="a-value"> <env:Header><test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> A SOAP 1.2 Envelope element cannot have non Namespace qualified attributes </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:encodingStyle cannot be specified on the env:Envelope </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-envelope/encoding/none"> <test:inputString xsi:type="xsd:string" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> hello world </test:inputString> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string">hello world </return> </test:echoStringResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> foo </test:echoOk> <test:Unknown xmlns:test="http://example.org/ts-tests"> <test:raiseFault env:mustUnderstand="1" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> </test:raiseFault> </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoResolvedRef xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="1"> <test:RelativeReference xml:base="http://example.org/today/" xlink:href="new.xml" xmlns:xlink="http://www.w3.org/1999/xlink" /> </test:echoResolvedRef> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseResolvedRef xmlns:test="http://example.org/ts-tests"> http://example.org/today/new.xml </test:responseResolvedRef> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string"> hello world </inputString> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string"> hello world </return> </test:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <env:Header> <test:DataHolder xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <test:Data enc:id="data" xsi:type="xsd:string"> hello world </test:Data> </test:DataHolder> </env:Header> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString enc:ref="data" xsi:type="xsd:string" /> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string"> hello world </return> </test:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNil xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:nil="1" /> </test:isNil> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNilResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:boolean"> 1 </return> </test:isNilResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNil xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> </test:isNil> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNilResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:boolean"> 1 </return> </test:isNilResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNil xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string"> This is a string </inputString> </test:isNil> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:isNilResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:boolean"> 0 </return> </test:isNilResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node B
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"> foo </test:echoOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:responseOk xmlns:test="http://example.org/ts-tests"> foo </test:responseOk> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <test:echoOk env:encodingStyle="http://example.org/PoisonEncoding" xmlns:test="http://example.org/ts-tests"> foo </test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:DataEncodingUnknown</env:value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Unknown Data Encoding Style </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests"> <inputString xsi:type="xsd:string">hello world</inputString> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 200 OKContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoStringResponse xmlns:test="http://example.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string">hello world</return> </test:echoStringResponse> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk> </env:Header></env:Envelope>
Message sent from Node C
HTTP/1.1 400 Bad RequestContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> env:Body must be present in a SOAP 1.2 envelope </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope"> <env:Body> <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:Upgrade> <env:SupportedEnvelope qname="ns1:Envelope" xmlns:ns1="http://www.w3.org/2003/05/soap-envelope"/> </env:Upgrade> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:VersionMismatch</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US">Wrong Version</env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <test:Unknown xmlns:test="http://example.org/ts-tests" env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="1"> foo </test:Unknown> </env:Header> <env:Body> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="test:Unknown" xmlns:test="http://example.org/ts-tests"/> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> <env:Role>http://www.w3.org/2003/05/soap-envelope/role/next</env:Role> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: audio/mpegContent-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoString xmlns:test="http://example.org/ts-tests"> <inputString xsi:type="xsd:string">hello world</inputString> </test:echoString> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 415 Unsupported Media
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStringResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string">Hello world</return> </sb:echoStringResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStringArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStringArray enc:itemType="xsd:string" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </inputStringArray> </sb:echoStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStringArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:string" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">hello</item> <item xsi:type="xsd:string">world</item> </return> </sb:echoStringArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoInteger xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputInteger xsi:type="xsd:int">123</inputInteger> </sb:echoInteger> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoIntegerResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:int">123</return> </sb:echoIntegerResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoIntegerArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:int">100</item> <item xsi:type="xsd:int">200</item> </inputIntegerArray> </sb:echoIntegerArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoIntegerArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:int" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:int">100</item> <item xsi:type="xsd:int">200</item> </return> </sb:echoIntegerArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoFloat xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputFloat xsi:type="xsd:float">0.005</inputFloat> </sb:echoFloat> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoFloatResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:float">0.005</return> </sb:echoFloatResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoFloatArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputFloatArray enc:itemType="xsd:float" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:float">0.00000555</item> <item xsi:type="xsd:float">12999.9</item> </inputFloatArray> </sb:echoFloatArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoFloatArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="xsd:float" enc:arraySize="2" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:float">5.55E-06</item> <item xsi:type="xsd:float">12999.9</item> </return> </sb:echoFloatArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStruct xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </inputStruct> </sb:echoStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body><sb:echoStructResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </return> </sb:echoStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStructArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStructArray enc:itemType="ns1:SOAPStruct" enc:arraySize="2" xmlns:ns1="http://soapinterop.org/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </item> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">43</varInt> <varFloat xsi:type="xsd:float">0.123</varFloat> <varString xsi:type="xsd:string">bye world</varString> </item> </inputStructArray> </sb:echoStructArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStructArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return enc:itemType="ns1:SOAPStruct" enc:arraySize="2" xmlns:ns1="http://soapinterop.org/xsd" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> </item> <item xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">43</varInt> <varFloat xsi:type="xsd:float">0.123</varFloat> <varString xsi:type="xsd:string">bye world</varString> </item> </return> </sb:echoStructArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoBase64 xmlns:test="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputBase64 xsi:type="xsd:base64Binary"> YUdWc2JHOGdkMjl5YkdRPQ== </inputBase64> </sb:echoBase64> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoBase64Response xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:base64Binary"> YUdWc2JHOGdkMjl5YkdRPQ== </return> </sb:echoBase64Response> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoDate xmlns:test="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputDate xsi:type="xsd:dateTime">1956-10-18T22:20:00-07:00</inputDate> </sb:echoDate> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoDateResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:dateTime">1956-10-19T05:20:00Z</return> </sb:echoDateResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoHexBinary xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputHexBinary xsi:type="xsd:hexBinary"> 68656C6C6F20776F726C6421 </inputHexBinary> </sb:echoHexBinary> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoHexBinaryResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:hexBinary"> 68656C6C6F20776F726C6421 </return> </sb:echoHexBinaryResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoDecimal xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputDecimal xsi:type="xsd:decimal"> 123.45678901234567890 </inputDecimal> </sb:echoDecimal> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoDecimalResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:decimal"> 123.45678901234567890 </return> </sb:echoDecimalResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoBoolean xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputBoolean xsi:type="xsd:boolean">1</inputBoolean> </sb:echoBoolean> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoBooleanResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:boolean">1</return> </sb:echoBooleanResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStructAsSimpleTypes xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varString xsi:type="xsd:string">hello world</varString> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> </inputStruct> </sb:echoStructAsSimpleTypes> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStructAsSimpleTypesResponse xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <outputString xsi:type="xsd:string">hello world</outputString> <outputInt xsi:type="xsd:int">42</outputInt> <outputFloat xsi:type="xsd:float">0.005</outputFloat> </sb:echoStructAsSimpleTypesResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoSimpleTypesAsStruct xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">hello world</inputString> <inputInt xsi:type="xsd:int">42</inputInt> <inputFloat xsi:type="xsd:float">0.005</inputFloat> </sb:echoSimpleTypesAsStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoSimpleTypesAsStructResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varString xsi:type="xsd:string">hello world</varString> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> </return> </sb:echoSimpleTypesAsStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echo2DStringArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <input2DStringArray enc:itemType="xsd:string" enc:arraySize="2 3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item>row0col0</item> <item>row0col1</item> <item>row0col2</item> <item>row1col0</item> <item>row1col1</item> <item>row1col2</item> </input2DStringArray> </sb:echo2DStringArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echo2DStringArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <result enc:itemType="xsd:string" enc:arraySize="2 3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item>row0col0</item> <item>row0col1</item> <item>row0col2</item> <item>row1col0</item> <item>row1col1</item> <item>row1col2</item> </result> </sb:echo2DStringArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoNestedStruct xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPStructStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varStruct xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">99</varInt> <varFloat xsi:type="xsd:float">4.0699e-12</varFloat> <varString xsi:type="xsd:string">nested struct</varString> </varStruct> </inputStruct> </sb:echoNestedStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoNestedStructResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStructStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varStruct xsi:type="ns1:SOAPStruct"> <varInt xsi:type="xsd:int">99</varInt> <varFloat xsi:type="xsd:float">4.0699e-12</varFloat> <varString xsi:type="xsd:string">nested struct</varString> </varStruct> </return> </sb:echoNestedStructResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoNestedArray xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputStruct xsi:type="ns1:SOAPArrayStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varArray enc:itemType="xsd:string" enc:arraySize="3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">red</item> <item xsi:type="xsd:string">blue</item> <item xsi:type="xsd:string">green</item> </varArray> </inputStruct> </sb:echoNestedArray> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoNestedArrayResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPArrayStruct"> xmlns:ns1="http://soapinterop.org/xsd"> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> <varString xsi:type="xsd:string">hello world</varString> <varArray enc:itemType="xsd:string" enc:arraySize="3" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"> <item xsi:type="xsd:string">red</item> <item xsi:type="xsd:string">blue</item> <item xsi:type="xsd:string">green</item> </varArray> </return> </sb:echoNestedArrayResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStringRequest xmlns:h="http://soapinterop.org/echoheader/" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> hello world </h:echoMeStringRequest> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStringResponse xmlns:h="http://soapinterop.org/echoheader/"> hello world </h:echoMeStringResponse> </env:Header> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStringRequest xmlns:h="http://soapinterop.org/echoheader/" env:role="http://example.org/some/other/role"> hello world </h:echoMeStringRequest> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStructRequest xmlns:h="http://soapinterop.org/echoheader/" env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="1"> <varInt>42</varInt> <varFloat>99.005</varFloat> <varString>hello world</varString> </h:echoMeStructRequest> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStructResponse xmlns:h="http://soapinterop.org/echoheader/"> <varInt>42</varInt> <varFloat>99.005</varFloat> <varString>hello world</varString> </h:echoMeStructResponse> </env:Header> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeStructRequest xmlns:h="http://soapinterop.org/echoheader/" env:role="http://example.org/some/other/role" env:mustUnderstand="1"> <varInt>42</varInt> <varFloat>99.005</varFloat> <varString>hello world</varString> </h:echoMeStructRequest> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeUnknown xmlns:h="http://unknown.example.org/unknown/" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> nobody understands me! </h:echoMeUnknown> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeUnknown xmlns:h="http://unknown.example.org/unknown/" env:mustUnderstand="1" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> nobody understands me! </h:echoMeUnknown> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="h:echoMeUnknown" xmlns:h="http://unknown.example.org/unknown/"/> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeUnknown xmlns:h="http://unknown.example.org/unknown/" env:role="http://example.org/some/other/role"> nobody understands me! </h:echoMeUnknown> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:echoMeUnknown xmlns:h="http://unknown.example.org/unknown/" env:mustUnderstand="1" env:role="http://example.org/some/other/role"> nobody understands me! </h:echoMeUnknown> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:echoVoidResponse xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoStringResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="xsd:string">Hello world</return> </sb:echoStringResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value xmlns:ns1="http://www.w3.org/2003/05/soap-envelope"> ns:Sender </env:Value> <env:Subcode> <env:Value xmlns:ns2="http://www.w3.org/2003/05/soap-rpc"> ns:BadArguments </env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en">Missing parameter.</env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
GET /soap1.2/doc/interop HTTP/1.1Host: www.w3.org
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:time xmlns:sb="http://soapinterop.org/">09:21:19Z</sb:time> </env:Body></env:Envelope>
Message sent from Node A
GET /soap1.2/rpc/interop HTTP/1.1Host: www.w3.org
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <sb:getTimeResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return>16:21:59Z</return> </sb:getTimeResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoSimpleTypesAsStruct xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputFloat xsi:type="xsd:float">0.005</inputFloat> <inputInt xsi:type="xsd:int">42</inputInt> <inputString xsi:type="xsd:string">hello world</inputString> </sb:echoSimpleTypesAsStruct> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoSimpleTypesAsStructResponse xmlns:sb="http://soapinterop.org/" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStruct" xmlns:ns1="http://soapinterop.org/xsd"> <varString xsi:type="xsd:string">hello world</varString> <varInt xsi:type="xsd:int">42</varInt> <varFloat xsi:type="xsd:float">0.005</varFloat> </return> </sb:echoSimpleTypesAsStructResponse> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: text/xml; charset=utf-8Content-Length: nnnSOAPAction: ""<?xml version="1.0" ?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"> <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <sb:echoVoid xmlns:sb="http://soapinterop.org/" /> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:Upgrade> <env:SupportedEnvelope qname="ns1:Envelope" xmlns:ns1="http://www.w3.org/2003/05/soap-envelope"/> </env:Upgrade> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:VersionMismatch</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US">Wrong Version</env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <h:Unknown xmlns:h="http://example.org/" env:mustUnderstand="1" env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> nobody understands me! </h:Unknown> </env:Header> <env:Body> <sb:echoVoid xmlns:sb="http://soapinterop.org/" env:encodingstyle="http://www.w3.org/2003/05/soap-encoding" /> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="h:Unknown" xmlns:h="http://example.org/"/> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset=utf-8; action=""Content-Length: nnn<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoSenderFault xmlns:sb="http://soapinterop.org/" xsi:type="xsd:string"> foo </sb:echoSenderFault> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 400 Bad RequestContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en">This is a Sender fault.</env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
POST /soap1.2/interop HTTP/1.1Host: www.w3.orgContent-Type: application/soap+xml; charset=utf-8; action=""Content-Length: nnn<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <env:Body> <sb:echoReceiverFault xmlns:sb="http://soapinterop.org/" xsi:type="xsd:string"> foo </sb:echoReceiverFault> </env:Body></env:Envelope>
Message sent from Node C
HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnn<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Receiver</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en">This is a Receiver fault.</env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString env:encodingStyle="unknown">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:DataEncodingUnknown</env:value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Unknown Data Encoding Style </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoSimpleTypesAsStructOfSchemaTypes xmlns:test="http://soapinterop.org/ts-tests" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <input1 xsi:type="xsd:int">42</input1> <input2 xsi:type="xsd:float">0.005</input2> <input3 xsi:type="xsd:string">hello world</input3> <input4>Untyped information</input4> </test:echoSimpleTypesAsStructOfSchemaTypes> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <test:echoSimpleTypesAsStructOfSchemaTypesResponse xmlns:test="http://soapinterop.org/ts-tests" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <rpc:result>return</rpc:result> <return xsi:type="ns1:SOAPStructTypes" xmlns:ns1="http://example.org/ts-tests/xsd"> <type1 xsi:type="xsd:QName">xsd:int</type1> <type2 xsi:type="xsd:QName">xsd:float</type2> <type3 xsi:type="xsd:QName">xsd:string</type3> <type4 xsi:type="xsd:QName">xsd:anyType</type4> </return> </test:echoSimpleTypesAsStructOfSchemaTypesResponse> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoInteger xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputInteger xsi:type="xsd:int">abc</inputInteger> </sb:echoInteger> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> rpc:BadArguments </env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en"> Bad parameter: 'inputInteger' on method 'echoInteger'. </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:unknownMethodThatShouldNotBeThere xmlns:sb="http://soapinterop.org/" /> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"> <env:Body> <env:Fault> <env:Code> <env:Value>env:Sender</env:Value> <env:Subcode> <env:Value>rpc:ProcedureNotPresent</env:Value> </env:Subcode> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Procedure Not Present </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">HELLO WORLD<inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/next" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world<inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/none" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/none" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:relay="true" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:relay="true" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node A
<?xml version="1.0" ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <sb:Unknown env:role="http://www.w3.org/2003/05/soap-envelope/role/next" env:mustUnderstand="true" xmlns:sb="http://soapinterop.org/"> </sb:Unknown> </env:Header> <env:Body> <sb:echoString xmlns:sb="http://soapinterop.org/" env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"> <inputString xsi:type="xsd:string">Hello world</inputString> </sb:echoString> </env:Body></env:Envelope>
Message sent from Node C
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <env:NotUnderstood qname="sb:Unknown" xmlns:sb="http://soapinterop.org/" /> </env:Header> <env:Body> <env:Fault> <env:Code> <env:Value>env:MustUnderstand</env:Value> </env:Code> <env:Reason> <env:Text xml:lang="en-US"> Header not understood </env:Text> </env:Reason> </env:Fault> </env:Body></env:Envelope>
This specification is the work of the W3C XML Protocol Working Group.
Members of the Working Group are (at the time of writing, and by alphabetical order): Glen Daniels (Sonic Software, formerly of Macromedia),Vikas Deolaliker (Sonoa Systems, Inc.),Chris Ferris (IBM, formerly of Sun Microsystems),Marc Hadley (Sun Microsystems),David Hull (TIBCO Software, Inc.),Anish Karmarkar (Oracle),Yves Lafon (W3C),Jonathan Marsh (WSO2),Jeff Mischkinsky (Oracle),Eric Newcomer (IONA Technologies),David Orchard (BEA Systems, formerly of Jamcracker),Seumas Soltysik (IONA Technologies),Davanum Srinivas (WSO2),Pete Wenzel (Sun Microsystems, formerly of SeeBeyond).
Previous members were: Yasser alSafadi (Philips Research),Bill Anderson (Xerox),Vidur Apparao (Netscape),Camilo Arbelaez (webMethods),Mark Baker (Idokorro Mobile, Inc., formerly of Sun Microsystems),Philippe Bedu (EDF (Electricite De France)),Olivier Boudeville (EDF (Electricite De France)),Carine Bournez (W3C),Don Box (Microsoft Corporation, formerly of DevelopMentor),Tom Breuel (Xerox),Dick Brooks (Group 8760),Winston Bumpus (Novell, Inc.),David Burdett (Commerce One),Charles Campbell (Informix Software),Alex Ceponkus (Bowstreet),Michael Champion (Software AG),David Chappell (Sonic Software),Miles Chaston (Epicentric),David Clay (Oracle),David Cleary (Progress Software),Dave Cleary (webMethods),Ugo Corda (Xerox),Paul Cotton (Microsoft Corporation),Fransisco Cubera (IBM),Jim d'Augustine (Excelon Corporation),Ron Daniel (Interwoven),Doug Davis (IBM),Ray Denenberg (Library of Congress),Paul Denning (MITRE Corporation),Frank DeRose (TIBCO Software, Inc.),Mike Dierken (DataChannel),Andrew Eisenberg (Progress Software),Brian Eisenberg (DataChannel),Colleen Evans (Sonic Software),John Evdemon (XMLSolutions),David Ezell (Hewlett Packard),James Falek (TIBCO Software, Inc.),David Fallside (IBM),Eric Fedok (Active Data Exchange),Daniela Florescu (Propel),Dan Frantz (BEA Systems),Michael Freeman (Engenia Software),Dietmar Gaertner (Software AG),Scott Golubock (Epicentric),Tony Graham (Sun Microsystems),Mike Greenberg (IONA Technologies),Rich Greenfield (Library of Congress),Martin Gudgin (Microsoft Corporation, formerly of DevelopMentor),Hugo Haas (W3C),Mark Hale (Interwoven),Randy Hall (Intel),Bjoern Heckel (Epicentric),Frederick Hirsch (Zolera Systems),Gerd Hoelzing (SAP AG),Erin Hoffmann (Tradia Inc.),Steve Hole (MessagingDirect Ltd.),Mary Holstege (Calico Commerce),Jim Hughes (Fujitsu Limited),Oisin Hurley (IONA Technologies),Yin-Leng Husband (Hewlett Packard, formerly of Compaq),John Ibbotson (IBM),Ryuji Inoue (Matsushita Electric Industrial Co., Ltd.),Scott Isaacson (Novell, Inc.),Kazunori Iwasa (Fujitsu Limited),Murali Janakiraman (Rogue Wave),Mario Jeckle (DaimlerChrysler Research and Technology),Eric Jenkins (Engenia Software),Mark Jones (AT&T),Jay Kasi (Commerce One),Jeffrey Kay (Engenia Software),Suresh Kodichath (IONA Technologies),Richard Koo (Vitria Technology Inc.),Jacek Kopecky (Systinet),Alan Kropp (Epicentric),Julian Kumar (Epicentric),Peter Lecuyer (Progress Software),Tony Lee (Vitria Technology Inc.),Michah Lerner (AT&T),Bob Lojek (Intalio Inc.),Henry Lowe (OMG),Brad Lund (Intel),Matthew MacKenzie (XMLGlobal Technologies),Michael Mahan (Nokia),Murray Maloney (Commerce One),Richard Martin (Active Data Exchange),Noah Mendelsohn (IBM, formerly of Lotus Development),Alex Milowski (Lexica),Kevin Mitchell (XMLSolutions),Nilo Mitra (Ericsson),Ed Mooney (Sun Microsystems),Jean-Jacques Moreau (Canon),Dean Moses (Epicentric),Highland Mary Mountain (Intel),Don Mullen (TIBCO Software, Inc.),Rekha Nagarajan (Calico Commerce),Raj Nair (Cisco Systems),Masahiko Narita (Fujitsu Limited),Mark Needleman (Data Research Associates),Art Nevarez (Novell, Inc.),Henrik Nielsen (Microsoft Corporation),Mark Nottingham (BEA Systems, formerly of Akamai Technologies),Conleth O'Connell (Vignette),Kevin Perkins (Compaq),Doug Purdy (Microsoft Corporation),Jags Ramnaryan (BEA Systems),Andreas Riegg (DaimlerChrysler Research and Technology),Vilhelm Rosenqvist (NCR),Herve Ruellan (Canon),Marwan Sabbouh (MITRE Corporation),Waqar Sadiq (Vitria Technology Inc.),Rich Salz (Zolera Systems),Krishna Sankar (Cisco Systems),Jeff Schlimmer (Microsoft Corporation),George Scott (Tradia Inc.),Shane Sesta (Active Data Exchange),Lew Shannon (NCR),John-Paul Sicotte (MessagingDirect Ltd.),Miroslav Simek (Systinet),Simeon Simeonov (Macromedia),Aaron Skonnard (DevelopMentor),Nick Smilonich (Unisys),Soumitro Tagore (Informix Software),James Tauber (Bowstreet),Anne Thomas Manes (Sun Microsystems),Lynne Thompson (Unisys),Patrick Thompson (Rogue Wave),Jim Trezzo (Oracle),Asir Vedamuthu (webMethods),Mike Vernal (Microsoft Corporation),Randy Waldrop (WebMethods),Fred Waskiewicz (OMG),David Webber (XMLGlobal Technologies),Ray Whitmer (Netscape),Volker Wiechers (SAP AG),Stuart Williams (Hewlett Packard),Yan Xu (DataChannel),Amr Yassin (Philips Research),Susan Yee (Active Data Exchange),Jin Yu (MartSoft Corp.).
The people who have contributed to discussions onxml-dist-app@w3.orgare also gratefully acknowledged.
The editors would like to acknowledge Kirill Gavrylyuk (Microsoft Corp.) for the gladly-received contribution of test for SOAP 1.2 Part 1.
The editors would like to acknowledge Nick Smilonich for reviewing thisdocument.