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]

Reply via email to