This is the Candidate Recommendation (hopefully) issues list for (links need updating):
Please send comments about those documents to the public-ws-desc-comments@w3.org mailing list (see public archive).
Also see the first Last Call Issues List, and the second Last Call Issues List.
Issues list for other deliverables of the WG can be found on the WS Description WG Issues List.
This document is live and can change at any time.
Color key: error warning note
| Id: Title | State | Type | Open actions | Ack. |
|---|---|---|---|---|
| CR005 : Built in XML Schema types | agreed | clarification | No reply from reviewer | |
| CR009 : SOAP binding: empty SOAP Action | agreed | clarification | No reply from reviewer | |
| CR019 : Must XML schema elements by imported in WSDL 2.0? | agreed | clarification | No reply from reviewer | |
| CR024 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR025 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR026 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR027 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR029 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR030 : Part 2 Adjuncts Comments (1 -5) | agreed | clarification | No reply from reviewer | |
| CR041 : Comment on Part 2, Section 6.5.2 | agreed | clarification | No reply from reviewer | |
| CR045 : Inline schemas with no target namespace | agreed | clarification | No reply from reviewer | |
| CR051 : when does wsoap:code appear? | agreed | clarification | No reply from reviewer | |
| CR053 : Allow absolute URI in {location} | agreed | clarification | No reply from reviewer | |
| CR055 : Clarification needed on HTTP Transfer Coding | agreed | clarification | No reply from reviewer | |
| CR072 : Questions on {http method} and {safety} extension properties | agreed | clarification | No reply from reviewer | |
| CR076 : {rpc signature} REQUIRED when rpc style is not specified? | agreed | clarification | No reply from reviewer | |
| CR092 : Re: WSDL 2.0 Fault Binding [Plus two Questions] | agreed | clarification | No reply from reviewer | |
| CR093 : Re: WSDL 2.0 Fault Binding [Plus two Questions] | agreed | clarification | No reply from reviewer | |
| CR109 : SOAP Fault code issue | agreed | clarification | No reply from reviewer | |
| CR110 : Semantics of {http cookies} Property. | agreed | clarification | No reply from reviewer | |
| CR111 : Mapping WSDL meps to the HTTP binding | agreed | clarification | No reply from reviewer | |
| CR113 : SOAP Response query string issue | agreed | clarification | No reply from reviewer | |
| CR114 : Mapping WSDL MEPs to SOAP MEPs | agreed | clarification | No reply from reviewer | |
| CR116 : 6.7.1.1 Construction of the request IRI using the http location | agreed | clarification | No reply from reviewer | |
| CR117 : Re: 6.7.1.1 Construction of the request IRI using the http location | agreed | clarification | No reply from reviewer | |
| CR120 : SOAP Response and IRI style | agreed | clarification | No reply from reviewer | |
| CR127 : Message Dispatching Primer Section | agreed | clarification | No reply from reviewer | |
| CR128 : Interface Inheritance Clarification | agreed | clarification | No reply from reviewer | |
| CR130 : Question on double curly braces with HTTP Location | agreed | clarification | No reply from reviewer | |
| CR133 : {http location} ignored on SOAP request-response MEP? | agreed | clarification | No reply from reviewer | |
| CR144 : RE: LocationTemplate-1G totally hosed ;-) | agreed | clarification | No reply from reviewer | |
| CR145 : Clarify 'scope' of {element declarations} and {type definitions} re SparqlQuerySimplified-1G | agreed | clarification | No reply from reviewer | |
| CR148 : Re: LocationTemplate-1G totally hosed ;-) | agreed | clarification | No reply from reviewer | |
| CR156 : Query parameter separator value | agreed | clarification | No reply from reviewer | |
| CR006 : Correction for assertion BindingFault-0058 | agreed | editorial | No reply from reviewer | |
| CR008 : Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding: example @ section 2.4 | agreed | editorial | No reply from reviewer | |
| CR010 : Typo in HTTP binding | agreed | editorial | No reply from reviewer | |
| CR014 : CR ISSUE: Bug in SOAP binding (Section 5.5.2 of Adjuncts) | agreed | editorial | No reply from reviewer | |
| CR015 : value space of "extends" attribute Info Item [2.2.2.2 WSL 2.0 Core Language] | agreed | editorial | No reply from reviewer | |
| CR018 : RE: Review of WS-A WSDL Binding | agreed | editorial | No reply from reviewer | |
| CR020 : Bogus assertions in 3.1.3? | agreed | editorial | No reply from reviewer | |
| CR023 : typeDefinitions property optional? | agreed | editorial | No reply from reviewer | |
| CR034 : Comments on Part 2, Chapter 6 | agreed | editorial | No reply from reviewer | |
| CR038 : editorial: part 2, table b-1 incomplete? | agreed | editorial | No reply from reviewer | |
| CR039 : Mentions of "error" and "fatal error" in Part 2 | agreed | editorial | No reply from reviewer | |
| CR043 : Part 2, 5.6.3 XML Representation of subcodes is inconsistent | agreed | editorial | No reply from reviewer | |
| CR046 : Missing properties in the property summary (Core table d-1, second half) | agreed | editorial | No reply from reviewer | |
| CR059 : Editorial: Where does {http location ignore uncited} appear? | agreed | editorial | No reply from reviewer | |
| CR062 : Re:service and binding name shown as QNames in example - should be NCNames | agreed | editorial | No reply from reviewer | |
| CR063 : Prefix declarations in inlined schema | agreed | editorial | No reply from reviewer | |
| CR064 : WSDL 2.0 primer CR comments | agreed | editorial | No reply from reviewer | |
| CR065 : Re: WSDL 2.0 primer CR comments | agreed | editorial | No reply from reviewer | |
| CR066 : Endpoint component {name} property vs xml representation as a QName | agreed | editorial | No reply from reviewer | |
| CR068 : WSDL 2.0 part 2 comment - 2.3.x, 2.2.x wording problems | agreed | editorial | No reply from reviewer | |
| CR070 : Request 2 clarifications for RPC style | agreed | editorial | No reply from reviewer | |
| CR073 : Suggested editorial changes to adjuncts section 4.1.1 wrpc:signature | agreed | editorial | No reply from reviewer | |
| CR075 : Suggested editorial changes for IRI and Multipart styles | agreed | editorial | No reply from reviewer | |
| CR084 : Re: New issue (editorial): Missing attribute/elements in syntax summary in part 2 5.1 | agreed | editorial | No reply from reviewer | |
| CR088 : Ambiguity in Part regarding built-in XML Schema types | agreed | editorial | No reply from reviewer | |
| CR096 : Assertions that are not assertions | agreed | editorial | No reply from reviewer | |
| CR098 : Assertions that are not assertions | agreed | editorial | No reply from reviewer | |
| CR099 : Assertions that are not assertions | agreed | editorial | No reply from reviewer | |
| CR100 : Duplicate assertions | agreed | editorial | No reply from reviewer | |
| CR101 : Duplicate assertions | agreed | editorial | No reply from reviewer | |
| CR102 : Duplicate assertions | agreed | editorial | No reply from reviewer | |
| CR103 : Duplicate assertions | agreed | editorial | No reply from reviewer | |
| CR104 : One more duplicate assertion | agreed | editorial | No reply from reviewer | |
| CR105 : More Duplicate and Non-Assertions | agreed | editorial | No reply from reviewer | |
| CR106 : More Duplicate and Non-Assertions | agreed | editorial | No reply from reviewer | |
| CR108 : Do MessageLabel-0006 and MessageLabel-0014 state the same requirement? | agreed | editorial | No reply from reviewer | |
| CR112 : HTTP Location property definition | agreed | editorial | No reply from reviewer | |
| CR115 : Suggested editorial change for assertion Import-0072 | agreed | editorial | No reply from reviewer | |
| CR118 : Suggested removal of 2 assertions | agreed | editorial | No reply from reviewer | |
| CR119 : Missing attribute in section 6.2 | agreed | editorial | No reply from reviewer | |
| CR124 : editorial: features and properties in "xml representation" sections | agreed | editorial | No reply from reviewer | |
| CR125 : problem with pattern attribute definition? | agreed | editorial | No reply from reviewer | |
| CR136 : What does this table row mean? | agreed | editorial | No reply from reviewer | |
| CR137 : Spelling mistake in Part 2 | agreed | editorial | No reply from reviewer | |
| CR139 : Suggestion on Part - 2 : Adjuncts | agreed | editorial | No reply from reviewer | |
| CR142 : Leftovers of trailing slashes in replacement parameters | agreed | editorial | No reply from reviewer | |
| CR149 : Re: rpc:signature question. | agreed | editorial | No reply from reviewer | |
| CR150 : Assertion Summary Texts in Part 1 | agreed | editorial | No reply from reviewer | |
| CR151 : XML Syntax Summary in Part 1 | agreed | editorial | No reply from reviewer | |
| CR152 : Assertion on Bindings for Interface that only define faults | agreed | editorial | No reply from reviewer | |
| CR002 : Do <import> and <include> support extensibility elements? | agreed | error | No reply from reviewer | |
| CR031 : Part 2 Adjuncts Comments (1 -5) | agreed | error | No reply from reviewer | |
| CR032 : Part 2 Adjuncts Comments (1 -5) | agreed | error | No reply from reviewer | |
| CR033 : Part 2 Adjuncts Comments (1 -5) | agreed | error | No reply from reviewer | |
| CR040 : Comment on Part 2, Section 5.9.3 | agreed | error | No reply from reviewer | |
| CR057 : HTTPHeader name should be xs:string, not xs:QName | agreed | error | No reply from reviewer | |
| CR079 : Fragment identifier syntax not XPointer Framework-compatible | agreed | error | No reply from reviewer | |
| CR022 : Component Values Must Be Context Independent | agreed | proposal | No reply from reviewer | |
| CR035 : Comments on Part 2, Chapter 6 | agreed | proposal | No reply from reviewer | |
| CR036 : Comments on Part 2, Chapter 6 | agreed | proposal | No reply from reviewer | |
| CR042 : Re: Uniqueness of QNames in 'extends' attribute | agreed | proposal | No reply from reviewer | |
| CR060 : Why don't whttp:authenticationType and {http authentication scheme} match? | agreed | proposal | No reply from reviewer | |
| CR077 : URI comparison | agreed | proposal | No reply from reviewer | |
| CR080 : Canonical component designators? | agreed | proposal | No reply from reviewer | |
| CR143 : Tranfer-Encoding vs Content-Encoding | agreed | proposal | No reply from reviewer | |
| CR146 : Ignoring uncited and nillable | agreed | proposal | No reply from reviewer | |
| CR153 : The WSDL 2.0 namespace - will it change? | agreed | proposal | No reply from reviewer | |
| CR012 : Semantics of wsdl:import | agreed | request | No reply from reviewer | |
| CR013 : Relax IRI style cardinality | agreed | request | No reply from reviewer | |
| CR021 : RE: WSDL describing Interface operation safety | agreed | request | No reply from reviewer | |
| CR052 : Serializing only part of the body with HTTP binding | agreed | request | No reply from reviewer | |
| CR054 : URIPath feedback | agreed | request | No reply from reviewer | |
| CR058 : Suggestion to change {safety} to {safe} | agreed | request | No reply from reviewer | |
| CR069 : Deconstructing MEPs | agreed | request | No reply from reviewer | |
| CR074 : Assetions covered by schema validation | agreed | request | No reply from reviewer | |
| CR123 : HTTP Method selection | agreed | request | No reply from reviewer | |
| CR126 : Re: New interchange results | agreed | request | No reply from reviewer | |
| CR082 : Header blocks in wrpc:signature | agreed | proposal | ||
| CR081 : Synchronous v/s Asynchronous, a WSA question, and few suggestions | agreed | clarification | Agreement | |
| CR087 : Turning off http transfer coding | agreed | clarification | Agreement | |
| CR089 : Definition of Interface Message Reference | agreed | clarification | Agreement | |
| CR091 : WSDL 2.0 Fault Binding | agreed | clarification | Agreement | |
| CR134 : Operation dispatch when there isn't a SOAP body. | agreed | clarification | Agreement | |
| CR157 : RE: LocationTemplate-1G test | agreed | clarification | Agreement | |
| CR083 : Editorial >> WSDL 2.0 definitions v/s WSDL 2.0 descriptions | agreed | editorial | Agreement | |
| CR085 : RE: F&P Primer work done. | agreed | editorial | Agreement | |
| CR086 : {http cookies} prohibited inconsistently | agreed | editorial | Agreement | |
| CR094 : Assertion SOAPBinding-2503001 | agreed | editorial | Agreement | |
| CR138 : {element declaration} for Interface Fault component | agreed | editorial | Agreement | |
| CR154 : InterfaceMessageReference-1205002 | agreed | editorial | Agreement | |
| CR078 : XML Schema requires a type in addition to name to identify an element | agreed | proposal | Agreement | |
| CR132 : RE: Proposal for CR108 | agreed | proposal | Agreement | |
| CR001 : Suggestion Summary appendix? | agreed | request | Agreement | |
| CR061 : service and binding name shown as QNames in example - should be NCNames | agreed | editorial | Objection | |
| CR007 : Assertion required for property <constraint> | agreed | clarification | Proposal incorporated | |
| CR067 : {http cookies} REQUIRED? | agreed | clarification | Proposal incorporated | |
| CR011 : CR Comment on WSDL Version 2, part 2: Adjuncts | agreed | request | Reviewer reply unaddressed | |
| CR017 : Action Item 2006-02-16 | declined | clarification | No reply from reviewer | |
| CR037 : Comments on Part 2, Chapter 6 | declined | clarification | No reply from reviewer | |
| CR050 : When does {safety} appear? | declined | clarification | No reply from reviewer | |
| CR122 : Clarification about ignoreUncited behaviour | declined | clarification | No reply from reviewer | |
| CR131 : Clarifying assertion for HTTP Location | declined | clarification | No reply from reviewer | |
| CR140 : Re: Spec Issue - associating local names in HTTP location with element declarations | declined | clarification | No reply from reviewer | |
| CR028 : Part 2 Adjuncts Comments (1 -5) | declined | editorial | No reply from reviewer | |
| CR056 : Questions on {http method} and {safety} extension properties | declined | editorial | No reply from reviewer | |
| CR071 : Request 2 clarifications for RPC style | declined | editorial | No reply from reviewer | |
| CR097 : Assertions that are not assertions | declined | editorial | No reply from reviewer | |
| CR107 : More Duplicate and Non-Assertions | declined | editorial | No reply from reviewer | |
| CR003 : wsdl20-adjuncts vs RFC 4288 | declined | error | No reply from reviewer | |
| CR044 : Parts 1 and 2 Treat Defaults Inconsistently with each other | declined | proposal | No reply from reviewer | |
| CR129 : RE: Comment on Fragment Identifiers | declined | proposal | No reply from reviewer | |
| CR121 : WSDL enhancement request | declined | request | No reply from reviewer | |
| CR147 : RFC: operation safety as semantic annotation? | declined | request | No reply from reviewer | |
| CR016 : wrpc:signature for RPC style | declined | clarification | Agreement | |
| CR047 : "interface" attribute info item on service component | declined | clarification | Agreement | |
| CR048 : "interface" attribute info item on service component | declined | clarification | Agreement | |
| CR049 : "interface" attribute info item on service component | declined | clarification | Agreement | |
| CR095 : Part 2 - {element declaration} property for SOAP Header Block component | declined | clarification | Agreement | |
| CR135 : Operation dispatch when there isn't a SOAP body. | declined | proposal | Agreement | |
| CR004 : <appInfo> for the WSDL | declined | request | Agreement | |
| CR155 : Proposal for Assertion InterfaceMessageReference-0042 | moved | editorial | No reply from reviewer | |
| CR141 : Re: Spec Issue - unmatched single curly braces in HTTP Location | subsumed | clarification | ||
| CR090 : Ambiguity in Part regarding built-in XML Schema types | subsumed | editorial |
While working on the Woden implementation of the WSDL 2.0 component model I came across an implementation detail that isn't spelled out in the spec. I'd like some input from the working group. Section 3.1 of the WSDL 2.0 spec states that the XML schema types are built in to WSDL 2.0 and do not have to be imported. Should these types be available from the type definitions within the Description component? i.e. In a WSDL 2.0 component model implementation, should I be able to access these types from the type definitions on the Description component?
Accept R2 from Arthur's proposals.
Implement above resolution.
Our specification says, for specifying SOAP Action[2]:
{soap action} OPTIONAL. A xs:anyURI, which is an absolute IRI as
defined by [IETF RFC 3987], to the Binding Operation component. The
value of this property identifies the value of the SOAP Action
Feature for the initial message of the message exchange pattern of
the Interface Operation bound, as specified in the binding rules of
bindings to specific versions of SOAP (see 5.10.3 SOAP 1.2 Binding
Rules for the SOAP 1.2 binding when the value of the {soap version}
property of the Binding component is "1.2").
I.e., it doesn't allow an empty string as the value for {soap action}.
However, in SOAP 1.1, SOAPAction may be equal to ""[3], and the WS-I
BP 1.0 does allow it[1], which actually seems to be looser than what
WSDL 1.1 allows[4], but that's another story.
So I think that, in order to cover all the cases, we should allow the
empty string for {soap action} in addition to an absolute IRI.
SOAP 1.2 is not clear about whether an empty string is allowed or
not[5]. As it's not forbidden and "" is part of the value space of
xs:anyURI, I think it's fine.
So, for a concrete suggestion, I would like to proposed:
{soap action} OPTIONAL. A xs:anyURI, which is an absolute IRI as
defined by [IETF RFC 3987] *or an empty string*, to the Binding
Operation component.
Cheers,
Hugo
1. http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#Describing_SOAPAction
2. http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106/#soap-operation-decl-relate
3. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528
4. http://www.w3.org/TR/2001/NOTE-wsdl-20010315#_soap:operation
5. http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#ActionFeature
Replace [quoted string value] with [quoted empty string value ("")].
Implement fix.
The following question arose while developing Woden [1]. Assertion Schema-0016 (from section 3.1) states: "A WSDL 2.0 document MUST NOT refer to XML Schema components in a given namespace unless an xs:import or xs:schema element information item for that namespace is present or the namespace is the XML Schema namespace which contains built-in types as defined in XML Schema Part 2: Datatypes Second Edition [XML Schema: Datatypes]." The end of the sentence, "...which contains built-in types..." seems to imply that only XML Schema types are implicitly available in WSDL 2.0. Are schema elements also implicitly available in WSDL 2.0? For example, if I want to define an input as follows <wsdl:input element="xsd:schema" /> do I need to import the schema namespace? If the answer is yes, I suggest the assertion text be modified to explicitly state that the schema namespace must be imported if schema elements are to be used. As a suggestion, "...XML Schema namespace and an XML Schema type has been referenced. XML Schema contains..." If the answer is no, I suggest the assertion text be modified to make it clear that both elements and types are available. As a suggestion, "...which contains elements and built-in types...". [1] http://incubator.apache.org/woden
Add: "If a WSDL 2.0 document refers to any component (element, simple type, complex type, etc) of the http://www.w3.org/2001/XMLSchema namespace except the built-in simple types, then it MUST import http://www.w3.org/2001/XMLSchema."
Implement above resolution.
1. In 4.2 IRI Style, the content model of the initial is constrained to have a sequence of child elements. What are the occurrence contraints? Are there any?
Add clarification that there are no occurance constraints.
Implement resolution.
2. In 4.2 IRI Style, the last bullet says: "If the children elements of the sequence are defined using an XML Schema type ...". What else could they be defined as? Don't all elements have a type?
Add clarification.
Implement resolution.
3. In 5.3 SOAP Binding Rules, the rule about mustUnderstand seems weak. If the SOAP Header block is marked as mustUnderstand=true in WSDL, then shouldn't the header in the SOAP message also have mustUnderstand=true?
strengthen "should" to "MUST".
Implement resolution.
4. In 5.6.2, isn't {soap fault codes} really a set and not a list? The
order of subcodes is irrelevant and it doesn't make sense to repeat a
subcode. Sounds like a set. Also, is there a difference between having an
empty set of subcodes and #any. I assume #any means any subcode may be
used. Does an empty set mean the subcodes are never used?Add clarification along the lines "The value of this property identifies one or more subcodes for this SOAP fault. The list of subcodes is the nested sequence of subcodes, an empty list represents a fault code without subcodes."
Implement resolution.
6. In 5.7.2 is there any constraint between WSDL meps and SOAP meps, i.e. if an operation uses a given WSDL mep, then does that restrict the allowed SOAP mep used in the biniding?
Adopt Amy's proposal.
Implement resolution.
7. In 5.7.2 there are defaulting rules for {soap mep} but is a value for
the actual SOAP mep required, i.e. must the defaulting rules produce a
definite value?Add a reference to 5.10.3, where the "rollup" is specified.
Implement resolution.
In the {http headers} property, is the {name} of the HTTP Header
component, a key? i.e., is each HTTP Header component in {http headers}
uniquely identified by it's {name}?
This is implied by 6.5.6 IRI Identification Of An HTTP Header component
which uses the {name} in the frag id, so it had better be unique.Section 3.1.2.1 of the Core Langage spec says "WSDL 2.0 modifies the XML Schema definition of the xs:schema element information item to make this attribute information item required". There is a scenario where I have an existing XSD that I am intending to re-use while designing the WSDL. The XSD has no target namespace, and has a bunch of elements and attributes defined within it. What it also does is to import a couple of XSDs that have a non-null target namespace. the wsdl intends to define the message parts to point to one of the nodes defined in the imported XSDs within the nonamespace XSD. The nodes that had been directly defined in the no-namespace XSD are not used by the WSDL, but are consumed by other applications. In this case, do yo think that it would be "really" invalid to inline such an XSD into the WSDL ? I was wondering that atleast theoretically, this should be possible. The question is - "Do we need to make some statements around this in the spec" ?
Remove removing assertion #Schema-0019-summary (no requirement schemas have a target namespace.)
Implement above resolution.
Similarly to safety, it's not clear when wsoap:code and wsoap:subcode should appear. Both of these properties are OPTIONAL, yet the mapping defaults the value to "#any". Thus whether the property appears isn't deterministic to the WSDL. One implementation could leave it out (e.g. Woden) when it's not in the WSDL, another could always put it in. The fix seems to be to make the property REQUIRED when the soap binding is in effect, or to remove the "#any" default and say that no value is the same as "#any".
The second comment I have is that it should be possible to "follow an
hyperlink" and give an absolute URI in the whttp:location attribute.
There seems to be no reason why the URIs should follow a predefined
hierarchical structure and in this blog system example, we could imagine
a central server powering different domains.
The first POST could be at http://van-der-vlist.com/blog/ and the
server could determine from my credentials a specific (and dynamic)
domain name for the location of the blog entry
(http://eric.van-der-vlist.com/blog/2277_Validatting_microformats).
My understanding of the current WD is that whttp:location="{location}"
wouldn't work if location was containing an absolute URI.
Couldn't that behaviour be changed?Adopted proposal at http://lists.w3.org/Archives/Public/www-ws-desc/2006Sep/0034, as amended by http://lists.w3.org/Archives/Public/www-ws-desc/2006Sep/0037.
Implement above resolution.
Can someone please clarify some points about the http transer coding
extension properties defined in Part 2 section 6.8.2 Relationship to WSDL
Component Model [1]?
It says the Binding has a {http transfer coding default} property that is
available to InterfaceMessageReference and InterfaceFaultReference
components. Is this worded correctly? Do components from the abstract
interface need http binding information?
It also says BindingOperation has a {http transfer coding default} property
that is available to BindingMessageReference and BindingFault components. Is
'BindingFault' a mistake, should this say BindingFaultReference?
There are no semantic rules about the relationship between the two {http
transfer coding default} properties (i.e. in Binding and BindingOperation),
so they could potentially be different. I don't think this would make sense,
but it seems to be possible according to the way this section is described.
Finally, there are no semantic rules about the relationship between
BindingOperation's {http transfer coding default} property and the {http
transfer coding} properties if its two child components. As an implementor I
can infer what that relationship might be, but it would be better if the
spec stated in explicitly as it does for default and actual extension
properties elsewhere.
[1] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html?content-type=text/html;%20charset=utf-8#http-transfer-coding-relateClosed by adopting the proposal at http://lists.w3.org/Archives/Public/www-ws-desc/2006Sep/0004.html, minus the sentences beginning "If this property is not present ..." on the last two bullets, plus the proposal at http://lists.w3.org/Archives/Public/www-ws-desc/2006Sep/0008.html plus a final bullet in each list reading "Otherwise none."
Implement above resolution.
Some questions arose while implementing HTTP extensions from Part 2
Adjuncts.
In 6.3.1 HTTP Method Selection at [1] is there a default value for {http
method} if the {safety} property is "false"?
In 3.1 Operation Safety at [2] the {safety} property is defined as REQUIRED
with a default value of "false" if not specified in the WSDL, so is the
wording at [1] "...if a {safety} property ... is present ..." redundant (i.e.
{safety} will always be present)?
And there's a possible typo in section 3.1 at [2]. The assertion refers to
"...a safe interaction defined in Section 3.5 of [Web
Architecture<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20-adjuncts.html#webarch>
]". I think this should say Section 3.4 (i.e. section 3.4 Safe
Interactions).
[1]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html?content-type=text/html;%20charset=utf-8#_http_binding_default_rule_method
[2]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html#property-InterfaceOperation.safety
Section 4.1.1 of the Adjuncts specifies {rpc signature} as a required
property. Per our recent clarifications, this will appear in the
component model whenever the implementation supports the rpc extension.
Thus, even if the {style} property does not include the rpc-style uri,
the {rpc signature} property will appear. No default value is supplied
either.
Instead, I believe it would be cleaner to make the {rpc property}
optional, and state that when the rpc style is engaged, the property
MUST appear.
[1] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html?content-type=text/html;%20charset=utf-8#InterfaceOperation_RPC_Signature_DefinitionAdd co-occurance constraint (that must be there if the style is RPC), and make the property OPTIONAL.
Implement resolution.
[Section 5.4.5 of SOAP 1.2 Part 1] SOAP 1.2 states the following - "All child *element information items* of the Detail *element information item*are called detail entries ". This means that the "Detail" element information item can have multiple detail entries. Does that mean that the user shd be able to define multiple element info items while describing a Fault in a WSDL Document, or cd the child elements of a fault element in the WSDL be directly copied under the <Detail> element in a SOAP Fault EII ?
Add http://lists.w3.org/Archives/Public/www-ws-desc/2006Dec/0017.html and say that the soap1.2 fault details element will contain a WSDL-described element, but may also contain other stuff that is not described.
See also http://lists.w3.org/Archives/Public/www-ws-desc/2006Dec/0054.html.
Implement above resolution.
[Section 5.4.5.1 of SOAP 1.2 Part 1] states that "Each detail entry MAY have a [namespace name] property which has a value, that is the name of the element MAY be namespace qualified." This means that the detail entries may alternatively come from "null/No Namespace". How wd a user be able to model this in a WSDL description ?
Related to MessageTest-1G document, I have the following comment with the specification. Currently, the soap fault code property can take any qname value. It is fine for soap 1.1 but soap 1.2 constraints the qname value to be in a set of 5 predefined QNames. It would be good if we could put an assertion to the spec stating that if soap1.2 is engaged the fault code qname must be in the predefined QName set.
Add an assertion that when using SOAP 1.2 the fault code QName is constrained to the five values from the spec.
Implement above resolution.
This came up at the interop event in Dinard:
1. The spec is unclear.[1] What is the meaning of the {http cookies} property?
Does is state whether the service will send cookies or whether the
client needs to understand cookies.
I recommend that it mean that the service uses cookies in some meaning
way and that the client will be unable to use the service effectively
unless it supports cookies.
2. The spec is inconsistent. It says Binding components MAY indicate
..., and also that the property is REQUIRED.
The XML attribute is optional, but the property is REQUIRED.
Therefore, a Binding component MUST indicate...
[1] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html?content-type=text/html;%20charset=utf-8#http-cookies-decl1) Clarify that "true" means the service relies on cookies and client must understand them; 2) change "MAY indicate" to "indicates".
Implement above resolution.
Reading the HTTP binding specification I have the following comment. Currently the mapping from WSDL meps to HTTP binding messages is described in section 6.4.1. Basically it says that the wsdl input message is the http request message and the wsdl output message, if any is the http response message. I wonder whether this description is sufficient for the inonly and especially robust-inonly wsdl meps. At least, we might need to specify the HTTP code to use in the response, especially for the robust-inonly. Should it be 200, 202 or left unspecified as it is currently? Are there other things that need to be specified?
Specify 202 for the response to in-only, and 204 for the response to robust-in-only.
Implement above resolution.
Continuing on the SOAP/HTTP Binding review,
I have a comment related to the SOAP binding section 5.10.4.2.1.
When using the SOAP-Response MEP, one needs to serialize the input data,
if any, in the URI as a query string, following what is done in the HTTP
binding (section 6.7.2).
The issue is that section 6.7.2 serialization is based on the query
parameter separator and query parameter default separator properties.
These properties, while present in the HTTP binding, are not brought in
the SOAP binding.
Here are two suggestions to solve this small issue:
- add to the soap/http binding the query parameter separator default
property, which has the '&' value by default
- do NOT add any of the @whttp:queryParameterSeparator and
@whttp:queryParameterSeparatorDefault attributes, as this flexibility is
not required by the soap binding IMHO.
This way, the serialization algorithm will always use the '&' character
as the query parameter separator character.Add the query separator and query separator default properties to the SOAP binding.
Implement above resolution.
Reviewing the soap binding, I have the following comments. As of today, the SOAP binding defines how to map the inout mep to the request-response and soap-response meps. The mapping from in-only and robust in-only meps to SOAP meps are not defined, which makes difficult or at least not very interoperable the use of these two WSDL meps with the SOAP binding. It seems that the newest version of the SOAP1.2 specification (http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.html) will provide the SOAP/HTTP binding with the support of the request-optional response mep. This mep fits well with the robust-in-only mep at least. It may therefore be interesting to add in the WSDL SOAP binding section a robust-inonly mep to soap mep mapping description. Concerning the in-only mep, the situation seems less clear. Of course we could also bind the in-only mep to the request-optional response mep. On the other hand, a SOAP1.2 one way mep is under way but has no support in the SOAP1.2/HTTP binding.
Specify in section 5.10.4 the mapping of in-only and robust-in-only MEPs to the SOAP request-response MEP, taking advantage of the new 202.
Implement above resolution.
Given this instance data:
<root>
<foo>1</foo>
<foo>2</foo>
</root>
With http:location="t"
we should obtain "t?foo=1&foo=2"
With http:location="t/{foo}"
we should obtain "t/1?foo=2"
With http:location="t/{foo}/{foo}"
we should obtain "t/1/2"
With http:location="t/{foo}/{foo}/{foo}"
should we obtain an error (we don't have 3 foo elements in the instance
data) or, should we obtain "t/1/2/1" or "t/1/2/2" ?
As a side comment, using element names in the http:location adds an
additional message schema constraint, in addition to the ones already
defined the IRI style: those element names shouldn't be optional. If one
of those http:location element names is defined as optional in the
schema, not including it in the instance data could result in a runtime
error.1) Rewrite HTTPSerialization-5073 to talk about types rather than instances.
2) Say each token SHOULD match something in the instance.
3) If there is no match, replace the token with the empty string.
4) A token may appear more than once, in which case it is replaced by corresponding repeated elements in the instance. [ednote: I think this is already in the text.]
Implement above resolution.
Following on philippe's message, there are also ambiguous cases that
might happen.
Given this schema:
<element name=root>
<sequence>
<element name=person type=string minOccurs=0/>
<element name=address type=string minOccurs=0/>
<element name=surname type=string minOccurs=0/>
</sequence>
</element>
Given this instance data:
<root>
<person>foo</person>
<address>/</address>
<surname>foo</surname>
</root>
with http:location="foo/{person}/{address}/{surname}
we will obtain foo/foo///foo, which leads to ambiguous parsing on the
server side (as address='' and surname='/foo' will also lead to the same
uri-encoded data).
Should we prevent this case and escape the '/' character in url path
encoded data?
There is also the case of the '?' special character that may lead to
issues in determining when begins the query string.
Should we prevent this case and escape the '?' character in url path
encoded data?Resolved by accepting proposal for Option 1, plus correct placement of "/" and "?" (should be allowd in query params, not in paths), change syntax to "!" from "~", and add a constraint that the query parameter separator must be encoded.
Implement above resolution.
When the soap response MEP is used to bound an in-out operation, the
input being defined by a schema,
the input is serialized in the URI following the url-encoded
serialization (section 6.7.2).
This serialization requires the use of the IRI style which puts a
constraint on the kind of operations that can be bound to the soap
response mep.
It seems sensible to me that inout operations can be bound to the
soap-response mep if:
- the input message is a #none kind of message (I did not found any
text about this case by the way, I may have missed something)
- the input message is a #element kind of message with the element
schema following the IRI style constraints
Does this make sense?
Should we add some text in the specification to clarify this?Agreed, allow #none in addition to IRI style.
Implement above resolution.
Reading section 5.1 in the primer, it is written that assigning unique QNames of GED as inputs within the interface of the service is sufficient to disambiguate the types of the messages that are received. While this is certainly true for a typical SOAP service that uses the Request/Response mep, this is not the case when the SOAP/Response mep is used. In that case, the GED QName is not sent in the message, only the subchildren local names are sent in the url. It would be easy to have two different GED QNames with the same subchildren local names. I do not know whether we should improve the primer, but this might be worth noting it anyway. The same kind of issue also arises with the HTTP binding. In this case, the dispatching may be done according the url, the method, the content-type and possibly other bits of information. This flexibility is good if we are going from a service to a WSDL document. In a typical WSDL first situation, it may however be hard for authors and tools to check that message dispatching will never be ambiguous. A few guidelines may help with that respect.
I believe a clarification is waranted within part 1: core language re: interface inheritance. The following sentence appears to imply that an interface inherits faults and operations from interfaces defined within the extends attribute AND from interfaces extended indirectly, i.e. interfaces defined within the extends attribute of extended interfaces, etc ... "To avoid circular definitions, an interface MUST NOT appear as an element of the set of interfaces it extends, either directly or indirectly." The next sentence, however, seems to imply that an interface inherits content only from the interfaces listed within its extends attribute: "The set of operations available in an interface includes all the operations defined by the interfaces it extends, along with any operations it directly defines. " If the first supposition is correct, then what is the use case for being able to list more than one extended interface within the extends attribute? Please advise. Thanks.
Reword as: "The set of operations available in an interface includes all the operations defined by the interfaces it extends directly or indirectly, together with any operations it directly defines."
Implement above resolution.
Part 2 section 6.7.1.1 which describes the curly brace template syntax used
for {http location} contains the sentence:
"A double curly brace (i.e. "{{" or "}}") MAY be used to include a single,
literal curly brace in the request IRI."
I am a bit confused about why this sentence is here. I assume it is not
describing how to include a literal curly brace within the string enclosed
by matching curly braces in the WSDL because this string must be the local
name of an element, which by definition cannot contain a curly brace.
E.g. whttp:location="?first={First{{Name}" is meaningless because
'First{Name' is not a valid local name.
So instead it seems to describe how to include a curly brace within the
value substituted for the local name enclosed within matching curly braces
during the construction of the request IRI.
E.g. for whttp:location="?first={FirstName}", FirstName might be substituted
with the value 'Marvin{{' in the request IRI which represents the literal
value 'Marvin{'
Is this correct? If so, does this need to be specified here in Part 2 - it
seems it belongs in the specification that describes how to construct the
message (e.g. HTTP spec for an HTTP request)? If my understanding is
incorrect could someone please explain with some examples.httpLocation ::= CharData? (( openBrace | closeBrace | elementName ) CharData?)*
CharData ::= [^{}]*
openBrace ::= '{{'
closeBrace ::= '}}'
elementName ::= '{' NCName '}'Plus reference to EBNF syntax in XML spec.
Implement above resolution.
I was just looking at Adjuncts 5.10.4 [1], and see that for the SOAP
request-response MEP the immediate destination is "the value of the WSDL
{address} property of the Endpoint component."
For the SOAP response MEP the immediate destination is "the value of the
WSDL {address} property, modified by the {http location} property following the
rules described in section 6.7.2 Serialization as
application/x-www-form-urlencoded."
From this I infer the {http location} is ignored for the SOAP
request-response MEP, including (after CR114 closure) the use of in-only and
robust-in-only WSDL MEPs.
Is this intentional? I recall discussing using URI templates with POST,
where the body would contain the full data and the URI might carry some
duplicates. Also, disabling {http location} for POST seems quite unRESTful.
If this is simply an editorial mistake, then we should copy the {http
location} handling text above into the SOAP request-response MEP
description.
[1] http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-adjuncts.html?foo=:;content-type=text/html;%20charset=utf-8#wsdl-mep-soap-mepClone the text from soap-response MEP to request-response MEP.
Implement above resolution.
> Section 5.10.4.2 tells that when soap-response is in use, section 6.7.2
> and the x-www-form-urlencoded serialization should be followed. This
> section describes how to build the request URL from whttp:location,
> whttp:ignoreUncited and the message parameters.
{http ignore
uncited} isn't among the parameters listed as supported by the SOAP binding.
It doesn't appear in the interchange format, so it shouldn't really have
been available for you to use to pass that testcase!
Also, with CR133 we made the request-response MEP correspond to the
soap-response MEP, apparently including (with the above change) auto-adding
query params and honoring ignoreUncited. However, it seems to me much
better to keep SOAP request-response parallel to serializing as
application/xml under the HTTP binding, which would not add query parameters
automatically and thus there's no need for ignoreUncited.
> In any case, if the current state is as you describe, is it a clear
> decision from the working group?
I'm just trying to interpret the status quo, but perhaps that's not as clear
as I thought it was... I'll back out the changes (looks like part of the
checkin failed anyway).
So here's a concrete proposal to fix the spec rather than the testcase:
In Section 5 change:
* {http location} on Binding Operation components, as defined in
6.4 Binding Operations
to:
* {http location} and {http location ignore uncited} on Binding Operation
components, as defined in _6.4 Binding Operations_ and _6.7.2.2.2
Controlling the serialization of the query string in the request IRI_,
respectively.
In Section 5.10.4.1.1 change (pre-CR133 text):
The SOAP "http://www.w3.org/2003/05/soap/mep/ImmediateDestination"
property takes the value of the WSDL {address} property of the Endpoint
component.
to:
The SOAP "http://www.w3.org/2003/05/soap/mep/ImmediateDestination"
property takes the value of the WSDL {address} property, modified by
the {http location} property following the rules described in section
_6.7.1 Serialization of the instance data in parts of the HTTP request_.Proposal accepted.
Implement above resolution.
I would like clarification the WSDL 2.0 testcase SparqlQuerySimplified-1G
and which schema element declarations should be present in the {element
declarations} property of the Description component. I think I had a
conversation about this issue with Jonathan and Arthur driving out to Niagra
Falls at the July interop.
The baseline component model interchange format for this testcase includes
an element declaration whose namespace is not inlined or imported within the
WSDL document's <types> element.
Baseline sparql-protocol-query.canonical.wsdlcm contains this item:
<elementDeclarationComponent xml:id="c22">
<name>
<base:namespaceName>
http://www.w3.org/1999/02/22-rdf-syntax-ns#</base:namespaceName>
<base:localName>RDF</base:localName>
</name>
<system>http://www.w3.org/2001/XMLSchema</system>
</elementDeclarationComponent>
This element declaration is defined in a schema which is imported by the
<xs:schema> element inlined within the <types> element of
sparql-protocol-query.wsdl. However, the namespace
http://www.w3.org/1999/02/22-rdf-syntax-ns# is not xs:imported directly
within the <types> element.
According to Part 1, section 3.1 Using W3C XML Schema Description Language:
Schema-0016 "A WSDL 2.0 document MUST NOT refer to XML Schema components in
a given namespace unless an xs:import or xs:schema element information item
for that namespace is present ..."
In implementing Woden, I interpreted this to mean that {element
declarations} and {type definitions} only contain schema components whose
namespace is inlined or imported directly w