3.4 RPC Methods/Procedures Used by the Test Collection
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.
3.4.1 returnVoid
This procedure/method does not have any input and output parameters
and does not have a return value.
3.4.2 echoStruct
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.
3.4.3 echoStructArray
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.
3.4.4 echoStructAsSimpleTypes
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.
3.4.5 echoSimpleTypesAsStruct
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.
3.4.6 echoNestedStruct
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.
3.4.7 echoNestedArray
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.
3.4.8 echoFloatArray
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.
3.4.9 echoStringArray
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.
3.4.10 echoIntegerArray
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.
3.4.11 echoBase64
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.
3.4.12 echoBoolean
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.
3.4.13 echoDate
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.
3.4.14 echoDecimal
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.
3.4.15 echoFloat
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.
3.4.16 echoString
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.
3.4.17 countItems
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.
3.4.18 isNil
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.
3.5 Tests
Test:T1
Description:
Node A sends to Node C message with 'echoOk' header block having role
equal to "http://www.w3.org/2003/05/soap-envelope/role/next".
Node C returns back empty body with responseOK header.
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: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>
Test:T2
Description:
Node A sends to Node C message with echoOk header block having role equal to "http://example.org/ts-tests/C".
NodeC returns back empty body with responseOK header.
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: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>
Test:T3
Description:
Node A sends to Node C message with echoOk header block having no role.
NodeC returns back empty body with responseOK header.
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: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>
Test:T4
Description:
Node A sends to node C message with echoOk header block having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeC sends message back with responseOK header.
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: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>
Test:T5
Description:
Node A sends to node C message with echoOk header block having
role="http://example.org/ts-tests/B".
Node C sends response message without a responseOK header and an empty body
(header block was ignored).
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: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>
Test:T6
Description:
Node A sends to node B message with echoOk header block having role="http://example.org/ts-tests/C".
NodeB forwards message to NodeC without touching the header block.
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: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>
Test:T7
Description:
Node A sends to node B message with Unknown header block having
role="http://example.org/ts-tests/B".
NodeB forwards message to NodeC with no header (header was removed).
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: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>
Test:T8
Description:
Node A sends to node B message with 3 headers: echoOk header block having
no role, Ignore header block having role="http://example.org/ts-tests/B" and
echoOk header block having
role="http://www.w3.org/2003/05/soap-envelope/role/none".
NodeB removes the second header block,
that has role="http://example.org/ts-tests/B" and forwards message to
NodeC with 2 other headers included in the same order as in the original
message.
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: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>
Test:T9
Description:
Node A sends to node B message with echoOk header block having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeB forwards message to NodeC with header included.
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: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>
Test:T10
Description:
Node A sends to node C message with Unknown header having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeC sends empty message back with no headers - header is ignored.
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: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>
Test:T11
Description:
Node A sends to node C message with Unknown header with
mustUnderstand="false" and having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver".
NodeC sends empty message back with no headers - header is ignored.
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: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>
Test:T12
Description:
Node A sends to node C message with Unknown header with mustUnderstand="1"
and having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeC sends MustUnderstand fault back.
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: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>
Test:T13
Description:
Node A sends to node C message with Unknown header with
mustUnderstand="true" and having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeC sends MustUnderstand fault back.
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: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>
Test:T14
Description:
Node A sends to node C message with echoOk header with
mustUnderstand="wrong" and having role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". NodeC sends a fault back.
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: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>
Test:T15
Description:
Node A sends to node C message with Unknown header with mustUnderstand="1"
and having role="http://example.org/ts-tests/B".
NodeC sends empty message back with no headers- header is ignored.
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: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>
Test:T16
Description:
Node A sends to node B message with Unknown header with mustUnderstand="1"
and having role="http://example.org/ts-tests/C".
NodeB forwards message to node C keeping header untouched.
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: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>
Test:T17
Description:
Node A sends to node B message with Unknown header with mustUnderstand="1"
and having role="http://www.w3.org/2003/05/soap-envelope/role/next".
NodeB returns MustUnderstand fault to node A.
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: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>
Test:T18
Description:
Node A sends to node B message with echoOk header having role="http://www.w3.org/2003/05/soap-envelope/role/none".
NodeB forwards message to the node C, node C responds back to node A with empty message (no body/header blocks).
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: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>
Test:T19
Description:
Node A sends to node C message with echoOk header having mustUnderstand =
"true" and role="http://www.w3.org/2003/05/soap-envelope/role/none".
Node C ignores this header block and returns empty message (no body/header blocks).
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: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>
Test:T21
Description:
Node A sends to node B message with Unknown header that has mustUnderstand
= "1" and role="http://example.org/ts-tests/B" and
echoOk header that has role="http://example.org/ts-tests/C" role and
mustUnderstand="1". Node B must return MustUnderstand Fault message to
Node A and no message should be forwarded to Node C.
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="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>
Test:T22
Description:
Node A sends to Node C message with echoOk header that has
mustUnderstand="1" and echoOk Body element. NodeC must process the
Header and the Body and return to Node A message with responseOk header
and responseOk Body element.
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: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>
Test:T23
Description:
Node A sends to Node C message with echoOk header that has
mustUnderstand="wrong" and Unknown header that has mustUnderstand="1".
Node C should return exactly one fault.
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="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>
Test:T24
Description:
Node A sends to node C message with incorrect namespace of the Envelope element. Node C returns back VersionMismatch Fault.
Messages:
Message sent from Node
A
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://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>
Test:T25
Description:
Node A sends to node C message with reference to external DTD. Node C returns back DTDNotSupported Fault.
Messages:
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>
Test:T26
Description:
Node A sends to node C message with Processing Instruction node. Node C ignores PI and returns back Body with test:responseOk element.
Messages:
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>
Test:T27
Description:
Node A sends to node C message with test:echoStringArray that has
encodingStyle attribute with a value of
"http://www.w3.org/2003/05/soap-encoding", contains an element with
attribute enc:itemType="xsd:string" (array of string), but with the child
element of a complex type. Node C returns a Fault indicating that message
didn't follow SOAP encoding rules (encoded array content didn't correspond
to the type declared in the enc:itemType).
Messages:
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>
Test:T28
Description:
Node A sends to node C message with Body element that has encodingStyle attribute.
Node C returns Fault message, because Body element must not contain attributes.
Messages:
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>
Test:T29
Description:
Node A sends to node C message with Header having a role attribute value
(URI) of length 2K role. Node C returns back empty body.
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: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>
Test:T30
Description:
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).
Messages:
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>
Test:T31
Description:
Node A sends to Node C an RPC message.
Node C returns a void return value. Note that the return value accessor
MUST NOT be present.
Messages:
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>
Test:T32
Description:
Node A sends to Node C an RPC message with a required header.
Node C returns the value supplied in the header.
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: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>
Test:T33
Description:
Node A sends to node C an RPC message with a procedure it cannot find.
Node C returns an fault with env:Sender as the Value for the fault and
rpc:ProcedureNotPresent as the Value for the SubCode. Please note that
the Value of rpc:ProcedureNotPresent for the SubCode is not required by
SOAP 1.2
Messages:
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>
Test:T34
Description:
This test consists of Node A sending a msg with a header that has MU=1
in the SOAP 1.1 NS. Node C, ignores this header.
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"
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>
Test:T35
Description:
This test consists of Node A sending a msg with a Unknown header with
MU=1 and role not specified. Node C returns a fault.
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="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>
Test:T36
Description:
This test consists of Node A sending a msg with a unknown header that is targeted
to the ultimate receiver and has the role attribute set to
http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver
Node C returns a fault
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="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>
Test:T37
Description:
This test consists of Node A sending a msg with a header that does not have
MU attr defined. Node C returns a valid reply.
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: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>
Test:T38
Description:
This test consists of Node A sending a msg with a header that has MU attr
with all possible lexical values.
First set of messages.
Second set of messages.
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>
Test:T39
Description:
This test consists of Node A sending a msg with an unknown header and an
incorrect value for the mustUnderstand attribute. Node C returns a
env:Sender fault.
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="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>
Test:T40
Description:
This test uses the literal format for IPv6 addresses in URIs.
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://[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>
Test:T41
Description:
Node A sends a message to Node C contained in echoStruct with datatype
SOAPStruct in the namespace "http://example.org/ts-tests/xsd".
Node C returns the datatypes in echoStructResponse.
Messages:
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>
Test:T42
Description:
Node A sends a message to Node C in echoStructArray containing an element
with attribute enc:itemType="http://example.org/ts-tests/xsd:SOAPStruct".
Node C responds with echoStructArrayResponse.
Messages:
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>
Test:T43
Description:
Node A sends a message to Node C in echoStructAsSimpleTypes containing
datatypes SOAPStruct in the namespace
"http://example.org/ts-tests/xsd"
Node C responds with echoStructAsSimpleTypesResponse.
Messages:
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>
Test:T44
Description:
Node A sends a message to Node C in echoSimpleTypesAsStruct containing datatypes
(integers, floating point, and string). Node C responds with echoSimpleTypesAsStructResponse.
Messages:
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>
Test:T45
Description:
Node A sends a message to Node C in echoNestedStruct containing datatypes
(integers, floating point, and string). Node C responds with echoNestedStruct.
Messages:
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>
Test:T46
Description:
Node A sends a message to Node C in echoNestedArray containing an array with
three elements. Node C responds with echoNestedArray.
Messages:
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://exaple.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://exampel.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>
Test:T47
Description:
Node A sends a message to Node C in echoFloatArray with enc:itemType="ns:float".
Node C responds with echoFloatArray.
Messages:
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>
Test:T48
Description:
Node A sends a message to Node C in echoStringArray with enc:itemType="ns:string".
Node C responds with echoStringArray.
Messages:
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>
Test:T49
Description:
Node A sends a message to Node C in echoStringArray without a enc:itemType
attribute.
Node C responds with echoStringArray.
Messages:
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>
Test:T50
Description:
Node A sends a message to Node C in echoIntegerArray with enc:itemType="ns:integer".
Node C responds with echoIntegerArray.
Messages:
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>
Test:T51
Description:
Node A sends a message to Node C with Base64-encoded binary data.
Node C responds with echoBase64.
Messages:
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>
Test:T52
Description:
Node A sends a message to Node C containing a boolean datatype with value = 1
in echoBoolean. Note C responds with echoBoolean.
Messages:
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>
Test:T53
Description:
Node A sends a message to Node C in echoDate with date datatype.
Node C responds with echoDate.
Messages:
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>
Test:T54
Description:
Node A sends a message to Node C in echoDecimal with decimal datatype.
Node C responds with echoDecimal.
Messages:
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>
Test:T55
Description:
Node A sends a message to Node C in echoFloat with floating point datatype.
Node C responds with echoFloat.
Messages:
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>
Test:T56
Description:
Node A sends to Node C a message with body containing a ref attribute information
item referencing a non-existent id attribute information item. Node C responds with a fault.
Messages:
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>
Test:T57
Description:
Node A sends to Node C a message with body containing a ref attribute
information item referencing a unique identifier defined by an id attribute information item. Node C responds by echoing the value of the element information item containing the referenced id attribute information item.
Messages:
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>
Test:T58
Description:
Node A sends a message to Node C invoking the rpc echoIntegerArray. The
inputIntegerArray element contains the attribute enc:itemType="xsd:int" but
the children of this element are not of type xsd:int.
Node C returns a fault.
Messages:
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>
Test:T59
Description:
Node A sends a message to Node C with a body containing a ref attribute information item
and an id information item on the same element information item. Node C returns a fault.
Messages:
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>
Test:T60
Description:
Node A sends to Node C a message specifying an array with bound specified by an asterisk.
Node C responds with the count of items that appeared in the input array.
Messages:
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>
Test:T61
Description:
Node A sends to Node C a message containing an array with a list of
dimensions consisting of an integer followed by an asterisk.
Node C responds with a fault stating that the asterisk can occur only in
the first position in the dimension list.
Messages:
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>
Test:T62
Description:
Node A sends a msg to node B with three headers in it with MU=1 and
targeted at Node B. The semantics of processing the header
test:concatAndForwardEchoOK requires Node B to take the contents of
test:concatAndForwardEchoOkArg1 and test:concatAndForwardEchoOkArg2,
concatenate them and forward the result to Node C using the test:echoOk
header. Node C then receives the concetanated data in the test:echoOk
header and responds using the test:responsOk header.
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: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>
Test:T63
Description:
Node A sends a message to node C with one headers in it with MU=1 and
targeted at Node C. The semantics of processing the header
test:validateCountryCode requires Node C to take the contents of
test:validateCountryCode and validate that it consists of 2
letters. If the code sent is not 2 letters then a fault
is sent back. The details of the fault are sent in the header
test:validateCountryCodeFault
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: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>
Test:T64
Description:
Node A sends a message to node C with non-empty [notation] property.
Node C responds by sending back a fault.
Messages:
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>
Test:T65
Description:
Node A sends a message to node C with non-empty [unparsed entity]
property. Node C responds by sending back a fault.
Messages:
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>
Test:T66
Description:
Node A sends a message to node C with non-empty [encoding]
property. Node C responds by sending the appropriate 'responseOk'.
Messages:
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>
Test:T67
Description:
Node A sends a message to node C with [standalone] property as 'true'.
Node C responds by sending the appropriate 'responseOk'.
Messages:
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>
Test:T68
Description:
Node A sends a message to node C with a soap message which is
semantically eqivalent to the request message in T1
test (the only difference being additional whitespace character
information item).
Node C responds by sending the appropriate 'responseOk'.
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: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>
Test:T69
Description:
Node A sends a message to node C which does not
contain a Body element.
Node C responds by sending an appropriate fault
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: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>
Test:T70
Description:
Node A sends a message to node C which contains
Header, Body and a Trailer element
Node C responds by sending an appropriate fault
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: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>
Test:T71
Description:
Node A sends a message to node C with a non-namespace qualified attribute
on the Envelope
Node C responds by sending an appropriate fault
Messages:
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>
Test:T72
Description:
Node A sends a message to node C with the encodingStyle set on the
Envelope element.
Node C responds by sending an appropriate fault
Messages:
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>
Test:T73
Description:
Node A sends a message to node C, using the SOAP RPC convention.
The RCP asks for node C to echo back the string. The message sent by A
has encodingStyle set on the Body block as well as the RPC input
parameter. Node C responds by echoing the parameter.
Messages:
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>
Test:T74
Description:
Node A sends a message to Node C with 2 headers echoOk and Unknown.
The Unknown header does not have a mustUnderstand or role attribute set, but
the child of the header block does. Node C does not understand the Unknown
header but can safely ignore it, and responds to the echoOk header.
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: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>
Test:T75
Description:
Node A sends a message to Node C with header echoResolvedRef containing
a relative reference defined by xlink:href and xml:base.
Node C responds by echoing the resolved reference.
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: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>
Test:T76
Description:
Node A sends 2 different serialization for echoString test and gets the
same response back from Node C
Messages:
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>
Test:T77
Description:
This test consists of an RPC called 'isNil'. This RPC has one parameter of
any type. The return value is of type boolean. If the request message has
a parameter that was absent or had xsi:nil='1', the returned value is true,
else it is false.
Node A is the requesting node and Node C is the responding node.
This test consists of 3 requests and responses send by Node A and Node C
respectively.
Messages:
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>
Test:T78
Description:
Node A sends to node C message with echoOk header block having role equal
to "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver".
NodeC returns back empty body with responseOK header.
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: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>
Test:T79
Description:
Node A sends to node B message with echoOk header block having role equal
to "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver". Node B
forwards this message to Node C. NodeC returns back empty body with
responseOK header.
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: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>
Test:T80
Description:
This tests assumes the existence of a conventionally
non-existent encoding
to test a failure condition. It is the intention that no receiving SOAP
1.2 node will support this encoding and that on receiving this encoding
style declaration in a SOAP message, will return the DataEncodingUnknown
fault.
Node A sends a simple SOAP 1.2 message to Node C containing the poison
encoding style declaration. Node C responds with a fault.
Messages:
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>
Test:TH1
Description:
This tests consists of testing SOAP 1.2 HTTP bindings. Node A sends a valid
SOAP request message over HTTP 1.1 to Node C. Node C responds with a HTTP
status 200 and a SOAP response message.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 OK
Content-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>
Test:TH2
Description:
This tests consists of testing SOAP 1.2 HTTP bindings. Node A sends an
invalid SOAP (with a missing 'Body' element) request message over
HTTP 1.1 to Node C. Node C responds with a HTTP status 400 and a
SOAP message containing a 'env:Sender' SOAP fault.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Request
Content-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>
Test:TH3
Description:
This tests consists of testing SOAP 1.2 HTTP bindings. Node A sends a
valid SOAP 1.1 request message over HTTP 1.1 to Node C. Node C responds
with a HTTP status 500 and a SOAP message containing a
'env:VersionMismatch' SOAP fault.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Error
Content-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>
Test:TH4
Description:
This tests consists of testing SOAP 1.2 HTTP bindings. Node A sends a
SOAP request message over HTTP 1.1 to Node C. This request message
contains a header with mustUnderstand="1", which Node C does not understand.
Node C responds with a HTTP status 500 and a SOAP message containing
a 'env:MustUnderstand' SOAP fault.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Error
Content-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>
Test:TH5
Description:
This tests consists of testing SOAP 1.2 HTTP bindings. Node A sends an
valid SOAP request message over HTTP 1.1 to Node C, using media type
"audio/mpeg". Node C responds with a HTTP status 415.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-Type: audio/mpeg
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 415 Unsupported Media
Test:SBR1-echoString
Description:
This test is the 'echoString' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoStringArray
Description:
This test is the 'echoStringArray' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoInteger
Description:
This test is the 'echoInteger' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoIntegerArray
Description:
This test is the 'echoIntegerArray' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoFloat
Description:
This test is the 'echoFloat' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoFloatArray
Description:
This test is the 'echoFloatArray' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoStruct
Description:
This test is the 'echoStruct' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoStructArray
Description:
This test is the 'echoStructArray' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoVoid
Description:
This test is the 'echoVoid' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoBase64
Description:
This test is the 'echoBase64' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR1-echoDate
Description:
This test is the 'echoDate' test defined by SOAPBuilders Round 1
[SOAPBuilders Round 1] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoHexBinary
Description:
This test is the 'echoHexBinary' test defined by SOAPBuilders Round 2
[SOAPBuilders Round 2] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoDecimal
Description:
This test is the 'echoDecimal' test defined by SOAPBuilders Round 2
[SOAPBuilders Round 2] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoBoolean
Description:
This test is the 'echoBoolean' test defined by SOAPBuilders Round 2
[SOAPBuilders Round 2] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoStructAsSimpleTypes
Description:
This test is the 'echoStructAsSimpleTypes' test defined by SOAPBuilders Round 2 Group B
[SOAPBuilders Round 2 Group B] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoSimpleTypesAsStruct
Description:
This test is the 'echoSimpleTypesAsStruct' test defined by SOAPBuilders Round 2 Group B
[SOAPBuilders Round 2 Group B] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echo2DStringArray
Description:
This test is the 'echo2DStringArray' test defined by SOAPBuilders Round 2 Group B
[SOAPBuilders Round 2 Group B] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoNestedStruct
Description:
This test is the 'echoNestedStruct' test defined by SOAPBuilders Round 2 Group B
[SOAPBuilders Round 2 Group B] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoNestedArray
Description:
This test is the 'echoNestedArray' test defined by SOAPBuilders Round 2 Group B
[SOAPBuilders Round 2 Group B] ported to SOAP 1.2.
Messages:
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>
Test:SBR2-echoMeStringRequest
Description:
This test is the 'echoMeStringRequest' test defined by SOAPBuilders Round 2 Group C
[SOAPBuilders Round 2 Group C] ported to SOAP 1.2.
Messages:
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://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>
Test:SBR2-echoMeStructRequest
Description:
This test is the 'echoMeStructRequest' test defined by SOAPBuilders Round 2 Group C
[SOAPBuilders Round 2 Group C] ported to SOAP 1.2.
Messages:
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://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>
Test:SBR2-echoMeUnknown
Description:
This test is the 'echoMeUnknown' test defined by SOAPBuilders Round 2 Group C
[SOAPBuilders Round 2 Group C] ported to SOAP 1.2.
Messages:
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/"
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/"
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/"/>
</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/"
env:role="http://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/"
env:mustUnderstand="1"
env:role="http://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>
Test:XMLP-1
Description:
The test is based on SOAPBuilders Round 2 echoString test. But instead of
the node A sending
<m:echoString xmlns:m="http://soapinterop.org/">
<inputString>hello world</inputString>
</m:echoString>
it sends
<m:echoString xmlns:m="http://soapinterop.org/"/>
The result is either (i) a response with the the missing input parameter
missing in the output as well or with the output parameter having some
default value determined by the server, or
(ii) a SOAP fault with a Value of "env:Sender" for Code and a Value of
"rpc:BadArguments" for Subcode.
Messages:
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>
Test:XMLP-2
Description:
Node A sends an HTTP GET request to Node C and Node C returns a
response that includes current time. An example of the request is:
GET /interop/doc/getTime HTTP/1.1
Node C responds with the current time of the day. The response does not
follow the RPC representation as described in SOAP 1.2, part 2, section 4.
Messages:
Message sent from Node
A
GET /soap1.2/doc/interop HTTP/1.1
Host: 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>
Test:XMLP-3
Description:
The Node A sends an HTTP GET request to Node C and Node C returns an
RPC response that includes current time. An example of the request is:
GET /interop/rpc/getTime HTTP/1.1
Node C responds with the current time of the day. The response
follows the RPC representation as described in SOAP 1.2, part 2, section 4.
Messages:
Message sent from Node
A
GET /soap1.2/rpc/interop HTTP/1.1
Host: 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>
Test:XMLP-4
Description:
The test is based on SOAPBuilders Round 2 echoSimpleTypesAsStruct. But
Node A instead of sending a message consisting of three parameters:
inputString of type xsd:string
inputInteger of type xsd:int
inputFloat of type xsd:float
in that order, it changes the order of the parameter to:
inputFloat of type xsd:float
inputInteger of type xsd:int
inputString of type xsd:string
The result returned by Node C is a structure as described in the original
test.
Messages:
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>
Test:XMLP-5
Description:
The test is based on SOAPBuilders Round 1 echoVoid test.
Node A instead of sending a message using the SOAP 1.2 namespace uses SOAP
1.1 namespace. I.e., sends the same message used in SOAPBuilders Round 2
echoVoid test. The node C returns a fault with a value of
env:VersionMismatch for Code and an HTTP status code with a value of 500
Server Error.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-Type: text/xml; charset=utf-8
Content-Length: nnn
SOAPAction: ""
<?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 Error
Content-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>
Test:XMLP-6
Description:
This test is based on SOAPBuilders Round 2 echoMeUnknown test. Node A
sends a request to a Node C which includes a header block with the QName
{http://example.org/}Unknown and with env:mustUnderstand attribute set to
"true". This header block is not understood by Node C and Node C returns a
fault with a value of env:MustUnderstand for Code and an HTTP status code
with a value of 500 Server Error.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Error
Content-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>
Test:XMLP-7
Description:
The Node A sends a echoSenderFault method request to the Node C and the
Node C returns a fault with a value env:Sender for Code and an HTTP
status code with a value of 400 Bad Method.
An example of the request is:
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Request
Content-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>
Test:XMLP-8
Description:
The Node A sends a echoReceiverFault method request to the Node C and the
Node C returns a fault with a value env:Receiver for Code and an HTTP
status code with a value of 500 Server Error.
Messages:
Message sent from Node
A
POST /soap1.2/interop HTTP/1.1
Host: www.w3.org
Content-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 Error
Content-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>
Test:XMLP-9
Description:
This test is based on SOAPBuilders Round 1 echoString test. Node A sends
a request to Node C with data encoding that is unknown to Node C.
Messages:
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>
Test:XMLP-10
Description:
Node A sends a RPC message to Node C calling the method
echoSimpleTypesAsStructOfSchemaTypes containing three parameters of type
xsd:int, xsd:float, xsd:string, with the XML schema type information
included in the message. In addtion, there is a fourth parameter which does
not have the XML schema type information in the message.
Node C responds with the XML schema type information corresponding to each
parameter. For parameter that does not have the type information in the
message, xsd:anyType is returned.
Messages:
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>
Test:XMLP-11
Description:
This test is based on SOAPBuilders R1 echoInteger test. But instead of
sending a valid integer value, Node A sends a string value containing
non-interger characters. The Node C returns a fault with a value
env:Sender for Code, a value of rpc:BadArguments for Subcode.
Messages:
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>
Test:XMLP-12
Description:
This test is based on SOAPBuilders R1 echoInteger test. But instead of
of sending an echoInteger RPC request Node A sends a RPC request for the
method unknownMethodThatShouldNotBeThere. The Node C returns a fault with
a value env:Sender for Code, a value of rpc:ProcedureNotPresent for Subcode.
Messages:
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>
Test:XMLP-13
Description:
The test is based on SOAPBuilders R1 echoString test. But, instead of
testing RPC request/response, it tests the SOAP 1.2 forwarding intermediary
semantics.
Node A sends a echoString request and Node C acts as a forwarding
intermediary. But, instead of forwarding the message to another node, it
forwards the message back to Node A.
Messages:
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>
Test:XMLP-14
Description:
The test is based on SOAPBuilders R1 echoString test. But, instead of
testing RPC request/response, it tests the SOAP 1.2 active intermediary
semantics.
Node A sends a echoString request and Node C acts as a active
intermediary. But, instead of forwarding the message to another node, it
forwards the message back to Node A. Node C in addition to forwarding the
message to Node A, converts the string to be echoed to uppercase before
forwarding it to Node A.
Messages:
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>
Test:XMLP-15
Description:
The test is similar to XMLP-13. Node A sends the echoString request along
with an optional SOAP header block targeted at
"http://www.w3.org/2003/05/soap-envelope/role/next"
Node C does not process the header block, but removes the header block
before forwarding the message back to Node A.
Messages:
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>
Test:XMLP-16
Description:
The test is similar to XMLP-13. Node A sends the echoString request along
with an optional SOAP header block targeted at
"http://www.w3.org/2003/05/soap-envelope/role/none"
Node C does not process the header block, but retains the header block
in the message forwarded back to Node A.
Messages:
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>
Test:XMLP-17
Description:
The test is similar to XMLP-13. Node A sends the echoString request along
with an optional SOAP header block targeted at
"http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
Node C does not process the header block, but retains the header block
in the message forwarded back to Node A.
Messages:
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>
Test:XMLP-18
Description:
The test is similar to XMLP-15. Node A sends the echoString request along
with an optional SOAP header block targeted at
"http://www.w3.org/2003/05/soap-envelope/role/next" and a
relay attribute with a value of "true".
Node C does not process the header block, but retains the header block
in the message forwarded back to Node A (along with the role and relay
attribute).
Messages:
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>
Test:XMLP-19
Description:
The test is similar to XMLP-15. Node A sends the echoString request along
with an SOAP header block targeted at
"http://www.w3.org/2003/05/soap-envelope/role/next" and a
mustUnderstand attribute with a value of "true".
Node C does not recognize the header block, and this results in a
MustUnderstand fault which is sent back to Node A.
Messages:
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>