I have an action item in the Minutes of the weekly call 25 Jan to create a
test case for the last outstanding test on the Interchange Test Coverage
Report. This is to test wsoap:header with required=false.
Two candidate test cases are attached as patch files:
1) If you want to include required=false in the message interop testing,
then use MessageTest-5G.patch.txt. This patch file adds an operation to this
WSDL with required=false in the wsoap:header element in each binding. I
could create a new separate testcase, MessageTest-7G, if you prefer.
2) If you just want to check that implementations can parse required=false
in 'good' wsdl (but don't need to use it in the message interop testing),
then use SOAPHeader-1G.patch.txt. This is a cut down version of
MessageTest-5G with just the operation that contains the wsoap:header with
required=false.
regards,
John Kaputin.
### Eclipse Workspace Patch 1.0
#P descWork
Index: test-suite/documents/good/MessageTest-5G/SOAPservice.wsdl
===================================================================
RCS file:
/sources/public/2002/ws/desc/test-suite/documents/good/MessageTest-5G/SOAPservice.wsdl,v
retrieving revision 1.3
diff -u -r1.3 SOAPservice.wsdl
--- test-suite/documents/good/MessageTest-5G/SOAPservice.wsdl 22 Jan 2007
09:26:19 -0000 1.3
+++ test-suite/documents/good/MessageTest-5G/SOAPservice.wsdl 1 Feb 2007
22:56:37 -0000
@@ -52,6 +52,11 @@
<input element="xsmt:echoString2"/>
<output element="xsmt:echoString2Return"/>
</operation>
+ <operation name="EchoString3"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
+ <documentation>Simple echo service - pass in a string, get that string
back.</documentation>
+ <input element="xsmt:echoString3"/>
+ <output element="xsmt:echoString3Return"/>
+ </operation>
<operation name="EchoStringOutFault"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
<documentation><![CDATA[
Operation is given a string
@@ -84,6 +89,13 @@
<wsoap:header element="tm:TestSOAPHeader" required="true"
mustUnderstand="true"/>
</output>
</operation>
+ <operation ref="tns:EchoString3"
+ wsoap:action="http://example.org/message-test/action/EchoString3">
+ <input/>
+ <output>
+ <wsoap:header element="tm:TestSOAPHeader" required="false"
mustUnderstand="true"/>
+ </output>
+ </operation>
<operation ref="tns:EchoStringOutFault"
wsoap:action="http://example.org/message-test/action/EchoStringOutFault">
<input/>
@@ -114,6 +126,13 @@
<wsoap:header element="tm:TestSOAPHeader" required="true"/>
</output>
</operation>
+ <operation ref="tns:EchoString3"
+ wsoap:action="http://example.org/message-test/action/EchoString3">
+ <input/>
+ <output>
+ <wsoap:header element="tm:TestSOAPHeader" required="false"/>
+ </output>
+ </operation>
<operation ref="tns:EchoStringOutFault"
wsoap:action="http://example.org/message-test/action/EchoStringOutFault">
<input/>
### Eclipse Workspace Patch 1.0
#P descWork
Index: test-suite/documents/good/SOAPHeader-1G/SOAPservice.wsdl
===================================================================
RCS file: test-suite/documents/good/SOAPHeader-1G/SOAPservice.wsdl
diff -N test-suite/documents/good/SOAPHeader-1G/SOAPservice.wsdl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test-suite/documents/good/SOAPHeader-1G/SOAPservice.wsdl 1 Jan 1970
00:00:00 -0000
@@ -0,0 +1,64 @@
+<description xmlns="http://www.w3.org/2006/01/wsdl"
+ targetNamespace="http://example.org/message-test"
xmlns:tns="http://example.org/message-test"
+ xmlns:wsoap="http://www.w3.org/2006/01/wsdl/soap"
+ xmlns:xsmt="http://example.org/message-test/xsd"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:tm="http://www.w3.org/2002/ws/desc/6/10/test-module">
+
+ <documentation><![CDATA[
+ This test checks that a wsoap:header element can be specified
required="false".
+ ]]></documentation>
+ <types>
+ <import xmlns="http://www.w3.org/2001/XMLSchema"
schemaLocation="TestHeader.xsd"
+ namespace="http://www.w3.org/2002/ws/desc/6/10/test-module"/>
+ <xs:schema elementFormDefault="qualified"
targetNamespace="http://example.org/message-test/xsd"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsmt="http://example.org/message-test/xsd">
+ <xs:element name="echoString3" type="xs:string"/>
+ <xs:element name="echoString3Return" type="xs:string"/>
+ </xs:schema>
+ </types>
+ <interface name="SimpleEcho">
+ <documentation>This minimal interface defines four operations, to test
bindings for input
+ messages, output messages, and fault messages.</documentation>
+ <operation name="EchoString3"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
+ <documentation>Simple echo service - pass in a string, get that string
back.</documentation>
+ <input element="xsmt:echoString3"/>
+ <output element="xsmt:echoString3Return"/>
+ </operation>
+ </interface>
+
+ <binding name="SimpleEchoSOAPBindingMU" interface="tns:SimpleEcho"
+ type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2"
+ wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">
+ <documentation> This binding tests the composition of soap modules
specified at various levels. </documentation>
+ <operation ref="tns:EchoString3"
+ wsoap:action="http://example.org/message-test/action/EchoString3">
+ <input/>
+ <output>
+ <wsoap:header element="tm:TestSOAPHeader" required="false"
mustUnderstand="true"/>
+ </output>
+ </operation>
+ </binding>
+
+ <binding name="SimpleEchoSOAPBinding" interface="tns:SimpleEcho"
+ type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2"
+ wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">
+ <documentation> This binding tests the composition of soap modules
specified at various levels. </documentation>
+ <operation ref="tns:EchoString3"
+ wsoap:action="http://example.org/message-test/action/EchoString3">
+ <input/>
+ <output>
+ <wsoap:header element="tm:TestSOAPHeader" required="false"/>
+ </output>
+ </operation>
+
+ </binding>
+
+ <service name="SOAPHeaderService" interface="tns:SimpleEcho">
+ <documentation>Exercise each endpoint in order.</documentation>
+ <endpoint name="SOAPHeaderMustUnderstand"
binding="tns:SimpleEchoSOAPBindingMU"
+ address="http://example.org/SOAPHeader-1G/endpoint-1"/>
+ <endpoint name="SOAPHeader" binding="tns:SimpleEchoSOAPBinding"
+ address="http://example.org/SOAPHeader-1G/endpoint-2"/>
+ </service>
+</description>
Index: test-suite/documents/good/SOAPHeader-1G/TestHeader.xsd
===================================================================
RCS file: test-suite/documents/good/SOAPHeader-1G/TestHeader.xsd
diff -N test-suite/documents/good/SOAPHeader-1G/TestHeader.xsd
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test-suite/documents/good/SOAPHeader-1G/TestHeader.xsd 1 Jan 1970
00:00:00 -0000
@@ -0,0 +1,13 @@
+<xs:schema elementFormDefault="qualified"
targetNamespace="http://www.w3.org/2002/ws/desc/6/10/test-module"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:test="http://www.w3.org/2002/ws/desc/6/10/test-module">
+ <xs:element name="TestSOAPHeader">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType">
+ <xs:anyAttribute namespace='##other' processContents='lax' />
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
Index: test-suite/documents/good/SOAPHeader-1G/SOAPservice.filename
===================================================================
RCS file: test-suite/documents/good/SOAPHeader-1G/SOAPservice.filename
diff -N test-suite/documents/good/SOAPHeader-1G/SOAPservice.filename
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test-suite/documents/good/SOAPHeader-1G/SOAPservice.filename 1 Jan
1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+<filename>SOAPHeader-1G/SOAPservice.wsdl</filename>
Index: test-suite/documents/good/SOAPHeader-1G/TestMetadata.xml
===================================================================
RCS file: test-suite/documents/good/SOAPHeader-1G/TestMetadata.xml
diff -N test-suite/documents/good/SOAPHeader-1G/TestMetadata.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test-suite/documents/good/SOAPHeader-1G/TestMetadata.xml 1 Jan 1970
00:00:00 -0000
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<TestMetadata xmlns="http://www.w3.org/2006/02/wsdl/TestMetadata">
+ <Identifier>
+
http://dev.w3.org/cvsweb/2002/ws/desc/test-suite/documents/good/SOAPHeader-1G
+ </Identifier>
+ <Title>Good Document SOAPHeader-1G</Title>
+ <Purpose>For testing SOAP extensions</Purpose>
+ <Description>Exercise wsoap:header with required="false".</Description>
+ <Status>accepted</Status>
+ <SpecRef></SpecRef>
+ <Preconditions>none</Preconditions>
+ <Inputs>
+ <Input role="root">SOAPservice.wsdl</Input>
+ <Input
role="required-extension">http://www.w3.org/2006/01/wsdl/soap</Input>
+ </Inputs>
+ <ExpectedResults>
+ <Successful>true</Successful>
+ </ExpectedResults>
+ <Version>1.0</Version>
+ <Contributor>
+ <Name>John Kaputin</Name>
+ <Affiliation>IBM</Affiliation>
+ <EMail>[EMAIL PROTECTED]</EMail>
+ </Contributor>
+
<Rights>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</Rights>
+ <Grouping>/documents/good</Grouping>
+ <SeeAlso><Reference>http://www.w3.org/TR/wsdl20</Reference></SeeAlso>
+</TestMetadata>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]