Patch for testcase wsoap:header with required=false
"John Kaputin (gmail)" <[email protected]>
| Newsgroups | gmane.comp.web.services.description |
|---|---|
| Message-ID | <[email protected]> |
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.
MessageTest-5G.patch.txt
(text/plain, 2.2 KB)
### 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/>
SOAPHeader-1G.patch.txt
(text/plain, 6.5 KB)
### 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>