Jonathan Marsh wrote:
>OK, I didn't (and still don't) understand the last paragraph.
>
Um, which part is not clear? Can you specify?
>
>But I suppose we'd also want to define how SOAPaction fulfils the abstract feature, right?
>
I am not sure why you think it is necessary. We can discuss whether we
need it and please feel free to add an amendement to the proposal.
>Can you write down what the whole proposal is? I'm having trouble distinguishing where you think this proposal differs from your original OperationName proposal [1]. I don't want to repeat that bit of contention.
>
I am now beginning to think that you never read the original one. ;-)
This is way different than the original proposal. The original proposal
defined ways of implementation, what should be on the wire, what kind of
SOAP module should be engaged, etc. This proposal does not define any of
the above in the spirit of Hugo's points which I fully agree.
This is the gut of the proposal as an executive summary:
If rpc style or unique GED is not applicable, than WSDL document must
include a mandatory extension declaration to whatever the mechanism is
engaged, whether it be a WS-MD, WS-Addressing, etc. It is the service
provider's choice to choose a specific extension but it is mandatory to
include the extension in the WSDL document by declaring it with our
extension mechanisms, whether it be feature, extension, etc. In
comparison to the original proposal, there is no mandate or definition
of WHAT the extension should be. All we should be requiring is that a
mandatory extension is declared so that the WSDL processors with their
inherent knowledge of which extensions or Features implement the
abstract feature can process the document. I also propose that there is
a single property whose value is the fragment identifier of the
operation name regardless of how the abstract feature is implemented by
an extension, etc. This allows the capability to obtain the operation
name without dictating the type of the extension. This allows the
implementations to get the value of the property and obtain the name of
the operation runtime in a coherent way without agreeing on the specific
extension that must be present.
Note that in a different thread, this is in the same spirit of what
Sanjiva is proposing too, to put a marker in the WSDL [1]
>
>[1] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jan/0082.html
>
For the email challenged ;-) , here is the proposal once again [1] with
my last addition[2] below. Again, if you would like to propose
additions to this, please propose them.
--umit
[1] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0040.html
[2] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0037.html
[3] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0070.html
OperationName Feature:
This specification defines an OperationName as an abstract Feature
that is required for all WSDL documents. OperationName Feature is
identified with the URI value:
http://www.w3.org/TR/wsdl20/features/operationName.
This Feature is assumed to be always present in the component model
and applicable for an interface operation component (See Section
2.7.1.1 Composition Model). Therefore, it is not required to be
declared in a WSDL document, but MUST always be supported.
[Note: For sake of completeness, I propose that we identify
this feature with a URI although it will not exhibit itself in a WSDL
document]
The OperationName Feature requires the operation name to be
identifiable in a message exchange and thus be conveyed between the
requestor agent and the provider agent. Since there may be multiple
mechanisms that may implement this abstract Feature, such as other
features, binding mechanisms (i.e. a SOAP module) or existing
extensibility mechanisms this specification does not mandate a
specific implementation. However, one the following conditions must be
met to satisfy the OperationName feature:
(1) an interface operation component must have a {style} property that
has the URI value http://www.w3.org/@@@@/@@/wsdl/style/rpc.
(2) The messages of all interface operation components in a particular
direction for a specific interface component must be unique, i.e. they
must have distinct GEDs.
(3) WSDL document MUST contain a mandatory extension (see Section 8.3
Processor Conformance for the definition of a mandatory extension)
that satisfy and implement the OperationName feature. The mandatory
extension MUST be in use in a scope that contains interface operation
component (see Section 2.7.1.1 Composition Model)
[Note: I believe that it is also possible to restrict the previous
definition to binding and binding operation scopes only. I can go
either way]
This feature also defines an abstract property that holds the URI of
the name of the operation. The URI of the property is
http://www.w3.org/TR/wsdl20/features/operationName/Name.
Since there are different ways to implement the abstract OperationName
feature as stated above, this specification requires a unique means of
identifying the operation name via the Property value. The value MUST
be the fragment identifier that signifies the specific operation
engaged and MUST be made available in an interaction. (See Section C.2
Fragment Identifiers)