- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Wed, 6 Dec 2006 17:02:32 -0500
- To: "Jonathan Marsh" <jonathan@wso2.com>
- Cc: www-ws-desc@w3.org, www-ws-desc-request@w3.org
- Message-ID: <OFDA34BD32.03709D4E-ON8525723C.0077997F-8525723C.00791419@ca.ibm.com>
Jonathan,
Recall that we came to the realization that the component model that
results from processing a WSDL 2.0 document depends on the extensions that
are engaged when the processing starts. For example, the safety extension
causes a property to appear even if no markup is present.
Therefore, each test case needs to define the extensions that are engaged.
We have been making this assumption that all the Part 2 extensions are
engaged.
Now, you are introducing a new extension, i.e. WS-Addressing. We have two
ways to proceed:
1) Just list any non-Part 2 extensions in TestMetadata.xml
2) Explicitly list all the extensions in TestMetadata.xml
In your example, you list the addressing and SOAP extensions, which is
inconsistent.
For simplicity, I think 1) is best.
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
"Jonathan Marsh" <jonathan@wso2.com>
Sent by: www-ws-desc-request@w3.org
12/05/2006 01:02 PM
To
Arthur Ryman/Toronto/IBM@IBMCA
cc
<www-ws-desc@w3.org>
Subject
RE: WSDL 2.0 component model tests
I went around on that a couple of times, but it made most sense to me to
only list the extensions that are required by the test in the test
metadata. For instance, an implementation that didn?t support the HTTP
binding, would still be able to run the WSAddressing-1G test.
The implementations.xml file lists all the extensions supported by a
particular implementation, and if the TestMetadata indicates an extension
is required that the implementation doesn?t support, it will fill in the
table with an ?unsupported extension?. For instance here?s wsdl-xslt?s
implementation manifest.
<implementation name="WSDL XSLT" results-folder="wsdl-xslt">
<supports extension="http://www.w3.org/2006/01/wsdl-extensions
" engaged="always"/>
<supports extension="http://www.w3.org/2006/01/wsdl/http"
engaged="always"/>
<supports extension="http://www.w3.org/2006/01/wsdl/rpc"
engaged="always"/>
<supports extension="http://www.w3.org/2006/01/wsdl/soap"
engaged="always"/>
<supports extension="http://example.org/unknown-wsdl-extension
" engaged="always"/> <!-- assumes it's a dummy extension -->
<supports extension="http://www.w3.org/2006/05/addressing/wsdl
" engaged="on-demand"/>
</implementation>
There are a few interesting things here. You can see that wsdl-xslt
claims to support the unknown-wsdl-extension (so does Woden). This isn?t
really true, unless the definition of unknown-wsdl-extension paradoxically
happens to be ?no change to component model?, as I?ve assumed here. Canon
doesn?t support this extension, as indicated by the fact that they refuse
to generate any interchange results for a document that requires this
extension.
As you recall, Echo-2G, which introduces this extension, was cloned into
the Bad documents bucket (should fail validation if the extension is
really unknown), but for test purposes I left a copy in the Good documents
to test and illustrate the extension matching logic. We might want to get
rid of this testcase and remove the claims that our extensions support it.
Implementations.xml also has an attribute engaged=?always|on demand? which
is not used at present, although it describes the capabilities of the
implementations accurately, as I changed my build process to engage the
WS-Addressing extension for the one test that needs it (manually, rather
than based on the implementations.xml metadata, at this point).
As I think I mentioned, the ability to mix and match extension support in
an implementation with a testcase isn?t fully generalized. Since our 3
implementations all support virtually identical sets of implementations,
we maintain only a single set of Baselines rather than a separate baseline
for each combination of supported extensions. That?s good enough for now,
but if I ran my stylesheet with WS-Addressing engaged always, I?d end up
with a different set of results (with {action} properties on each
operation) that would hopefully be correct but not match the current
Baseline.
Jonathan Marsh - http://www.wso2.com -
http://auburnmarshes.spaces.live.com
From: Arthur Ryman [mailto:ryman@ca.ibm.com]
Sent: Monday, December 04, 2006 8:10 PM
To: Jonathan Marsh
Cc: [WS-A]; www-ws-desc@w3.org; www-ws-desc-request@w3.org
Subject: Re: WSDL 2.0 component model tests
Jonathan,
Nice work. I see you've made creative use of the <Input> element to
specify the extensions:
<Input role="root">wsaTestService2.wsdl</Input>
<Input role="required-extension">http://www.w3.org/2006/01/wsdl/soap</
Input>
<Input role="required-extension">http://www.w3.org/2006/05/addressing/wsdl
</Input>
Why are you explicitly specifying SOAP and not the other extensions from
Part 2? I think we should be consistent, i.e. assume the presence of ALL
the Part 2 extensions OR explicitly list them. BTW, Woden cannot
selectively turn off the other extensions at present.
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
"Jonathan Marsh" <jonathan@wso2.com>
Sent by: www-ws-desc-request@w3.org
12/01/2006 07:10 PM
To
"[WS-A]" <public-ws-addressing@w3.org>
cc
<www-ws-desc@w3.org>
Subject
WSDL 2.0 component model tests
I?ve updated my WSDL 2.0 ?implementation? to handle WS-Addressing
extensions.
Wsdl-xslt is a stylesheet that transforms WSDL documents to a so-called
?interchange? format which is a direct, and verbose, serialization of the
component model. It?s used to verify that WSDL 2.0 parsers are acting
consistently. My stylesheet provides a baseline against which to compare
other, more sophisticated, implementations (as well as putting another set
of implementer eyes on the spec.)
With the WS-Addressing extension support, one can browse the component
model directly and verify that WS-Addressing properties were included
appropriately.
I also generated a WSDL 2.0 form of one of the WS-Addressing WSDL tests to
work with [1]. The component model results can be viewed at [2].
I hope this encourages other implementations (e.g. Woden ;-) of the
WS-Addressing extensions to WSDL 2.0.
As the WS-Addressing WG develops WSDL 2.0 test cases, please submit them
to the WSDL 2.0 test suite as well. In addition, we?re close to getting
an automated system in place for analyzing message logs wrt a WSDL 2.0
document. It is easy to imagine extending that framework to handle
WS-Addressing extensions as well (e.g. verify that the wsa:Action in the
message conforms to the {action} property in the component model.)
[1]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/documents/good/WSAddressing-1G/
[2]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/results/wsdl-xslt/WSAddressing-1G/wsaTestService2.canonical.wsdlcm?rev=1.7
Jonathan Marsh - http://www.wso2.com -
http://auburnmarshes.spaces.live.com
Received on Wednesday, 6 December 2006 22:03:00 UTC