OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-sx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ws-sx] Issue 169: Sample wsdl in conflict w WS-I BSP in WS-Trust 1.3, 1.4


It seems that we already discussed this issue on the call last week relative to the WSDL with the problems found when getting ready to publish latest drafts.

The WSDL is (1) non-normative and is (2) ONLY a sample and (3) not all the services described in the specification are in the WSDL and (4) nothing says WSDL MUST be BP compliant. I not sure that you used the right BP level profile (so that the actions are covered) also to do you analysis, also I think that forgot about the SOAP actions that we have on the different requests and the fact that all messages now end with a RSTRC (not an RSTR).

At the last call we took a action item to look at the WSDL and figure out which messages we were going to describe as samples and in what format.

Anthony Nadalin | Work 512.838.0085 | Cell 512.289.4122

Inactive hide details for Geoff Bullen ---05/31/2008 02:24:13 PM---Issue 169Geoff Bullen ---05/31/2008 02:24:13 PM---Issue 169


From:

Geoff Bullen <Geoff.Bullen@microsoft.com>

To:

"Rich.Levinson" <rich.levinson@oracle.com>, "ws-sx@lists.oasis-open.org" <ws-sx@lists.oasis-open.org>

Cc:

Marc Goodner <mgoodner@microsoft.com>

Date:

05/31/2008 02:24 PM

Subject:

[ws-sx] Issue 169: Sample wsdl in conflict w WS-I BSP in WS-Trust 1.3, 1.4





Issue 169

From: Rich.Levinson [mailto:rich.levinson@oracle.com]
Sent:
Friday, May 30, 2008 5:25 PM
To:
ws-sx@lists.oasis-open.org
Cc:
Marc Goodne
Subject:
[ws-sx] NEW Issue: Sample wsdl in conflict w WS-I BSP in WS-Trust 1.3, 1.4


PLEASE DO NOT REPLY TO THIS EMAIL OR START A DISCUSSISON THREAD UNTIL THE ISSUE IS ASSIGNED A NUMBER.
The issues coordinators will notify the list when that has occurred.

Protocol: ws-trust

ws-trust-1.4-spec-ed-03: p 79, Appendix B, lines 3177,3184,3188; 3204,3208
http://www.oasis-open.org/committees/download.php/28255/ws-trust-1.4-spec-ed-03.doc

the problem described here also relates to these ws-trust 1.3 documents

ws-trust-1.3-os:
http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.pdf
wsdl:
http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3.wsdl

Artifact:
wsdl

Type:
editorial

Title:
Sample wsdl in conflict w WS-I BSP

Description:
ws-trust-1.4-spec-ed-03: p 79, Appendix B, lines 3177,3184,3188; 3204,3208

It was found during preparation of use cases for the
web services test forum (wstf) committee:
http://www.wstf.org/
(need to join to read archives, but if so, then issue was
discussed here: http://www.wstf.org/mail/sc006/200805/msg1)
that the sample wsdl in Appendix B appears to possibly have
inadvertently included wsdl that is in conflict with WS/I BP:

http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html

WS-I BS text:
5.6.7 Wire Signatures for Operations
An endpoint that supports multiple operations must unambiguously identify the operation being invoked based on the input message that it receives. This is only possible if all the operations specified in the wsdl:binding associated with an endpoint have a unique wire signature.

R2710 The operations in a wsdl:binding in a DESCRIPTION MUST result in wire signatures that are different from one another.

The Profile defines the "wire signature" of an operation in a wsdl:binding to be the fully qualified name of the child element of the soap:Body of the SOAP input message it describes. For the case of an empty soap:Body this name is an empty string.

In the case of rpc-literal binding, the operation name is used as a wrapper for the part accessors. In the document-literal case, since a wrapper with the operation name is not present, the message signatures must be correctly designed so that they meet this requirement.


Here is the wsdl for ref w problem lines marked by "<---***" on RHS:

<!-- This portType models the full request/response the Security Token Service: -->

<wsdl:portType name="WSSecurityRequestor">
<wsdl:operation name="SecurityTokenResponse">
<wsdl:input message="tns:RequestSecurityTokenResponseMsg"/> <---***
</wsdl:operation>
<wsdl:operation name="SecurityTokenResponse2">
<wsdl:input
message="tns:RequestSecurityTokenResponseCollectionMsg"/>
</wsdl:operation>
<wsdl:operation name="Challenge">
<wsdl:input message="tns:RequestSecurityTokenResponseMsg"/> <---***
<wsdl:output message="tns:RequestSecurityTokenResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="Challenge2">
<wsdl:input message="tns:RequestSecurityTokenResponseMsg"/> <---***
<wsdl:output
message="tns:RequestSecurityTokenResponseCollectionMsg"/>
</wsdl:operation>
</wsdl:portType>

<!-- These portTypes model the individual message exchanges -->

<wsdl:portType name="SecurityTokenRequestService">
<wsdl:operation name="RequestSecurityToken">
<wsdl:input message="tns:RequestSecurityTokenMsg"/>
</wsdl:operation>
</wsdl:portType>

<wsdl:portType name="SecurityTokenService">
<wsdl:operation name="RequestSecurityToken">
<wsdl:input message="tns:RequestSecurityTokenMsg"/> <---***
<wsdl:output message="tns:RequestSecurityTokenResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="RequestSecurityToken2">
<wsdl:input message="tns:RequestSecurityTokenMsg"/> <---***
<wsdl:output
message="tns:RequestSecurityTokenResponseCollectionMsg"/>
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>

The problem with violating this convention is that if you try to do
automatic code generation, in at least one popular implementation
language you cannot have 2 methods in the same class with the same
signature, which is what happens with these identical input messages.

Related issues:

N/A

Proposed Resolution:

None: Not sure what would be intended here, because the example is showing
messages to an STS, which can reply with different responses for
output w same input. However, as shown the methods violate the WS-I
guidelines. (appears that concept of in/out "signature" may be overloaded
here as there is both input/output at the message-in/message-out level as
well as creation of input message level)



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]