Re:service and binding name shown as QNames in example - should be NCNames

Graham,

I'll add this to the test suite. Thx.

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



"Graham Turrell" <gturrell@googlemail.com> 
Sent by: www-ws-desc-request@w3.org
06/06/2006 10:53 AM

To
"www-ws-desc@w3.org" <www-ws-desc@w3.org>
cc

Subject
Re:service and binding name shown as QNames in example - should be NCNames







Hi,

I'm Graham Turrell, and I've recently started working with Jeremy and the 
other contributors on woden development. I used the feature composition 
example as a basis for quickly testing the woden wsdl2 parser, which 
prompted Jeremy's mailing. 
I modifed the feature composition example according to the current Core 
spec (which incidentally parses successfully with woden). I've included 
here both " "pseudo-wsdl2" of the form used in the example, and the "real 
wsdl2" from which it is derived. The former could be used to directly 
update the example if desired. Hope thats of use, at least as a starting 
point... 

Here's a summary of changes to my copy of the pseudo-wsdl2:

- added xnlns:tns declaration
- removed xmlns:ns1 - redundant
- added xsi:schemaLocation (may wish to remove that from the pseudo-wsdl 
however) 
- changed interface name attribute from QName to NCName
- operation pattern attribute added (mandatory)
- binding name attribute changed from QName to NCName
- binding type attribute added - mandatory
- service nameattribute changed from QName to NCName 
- endpoint name attribute added (mandatory)
- (also, endpoint binding attribute prefix changed to tns. Prefix ns1 
probably redundant here).

Pseudo-wsdl2:
-------------
<description targetNamespace=" http://example.com/bank" 
             xmlns=" http://www.w3.org/2006/01/wsdl" 
             xmlns:tns=" http://example.com/bank"
             xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation= 
             "http://www.w3.org/2006/01/wsdl 
http://www.w3.org/2006/01/wsdl/wsdl20.xsd 
              http://www.w3.org/2001/XMLSchema 
http://www.w3.org/2001/XMLSchema.xsd">
  <interface name="Bank"> 
    <!-- All implementations of this interface must be secure --> 
    <feature ref="http://example.com/secure-channel"
             required="true"/> 
    <operation name="withdrawFunds" pattern=" 
http://www.w3.org/2004/03/wsdl/in-out">
      <!-- This operation must have ACID properties --> 
      <feature ref=" http://example.com/transaction"
               required="true"/>
      ...
    </operation>
    <operation name="depositFunds" pattern=" 
http://www.w3.org/2004/03/wsdl/in-out">
      <!-- This operation requires notarization -->
      <feature ref=" http://example.com/notarization "
               required="true"/>
      ...
    </operation>
  </interface>

  <binding name="BankSOAPBinding" type=" 
http://www.w3.org/2005/12/wsdl/soap">
    <!-- This particular binding requires ISO9001
         compliance to be verifiable -->
    <feature ref=" http://example.com/ISO9001 "
             required="true"/>
    <!-- This binding also requires notarization -->
    <feature ref=" http://example.com/notarization "
             required="true"/>
  </binding>

  <service name="BankService"
           interface="tns:Bank">
    <endpoint name="BankSOAPEndpoint" binding="tns:BankSOAPBinding"> 
    ...
    </endpoint>
  </service>
</description>
-----------------

real wsdl2:

<?xml version="1.0" encoding="UTF-8"?>
<description targetNamespace=" http://example.com/bank" 
             xmlns=" http://www.w3.org/2006/01/wsdl" 
             xmlns:tns=" http://example.com/bank"
             xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation= 
             "http://www.w3.org/2006/01/wsdl 
http://www.w3.org/2006/01/wsdl/wsdl20.xsd 
              http://www.w3.org/2001/XMLSchema 
http://www.w3.org/2001/XMLSchema.xsd">

  <interface name="Bank"> 
    <!-- All implementations of this interface must be secure --> 
    <feature ref="http://example.com/secure-channel"
             required="true"/> 
    <operation name="withdrawFunds" pattern=" 
http://www.w3.org/2004/03/wsdl/in-out">
      <!-- This operation must have ACID properties --> 
      <feature ref=" http://example.com/transaction"
               required="true"/>
    </operation>
    <operation name="depositFunds" pattern=" 
http://www.w3.org/2004/03/wsdl/in-out">
      <!-- This operation requires notarization -->
      <feature ref=" http://example.com/notarization "
               required="true"/>
    </operation>
  </interface>

  <binding name="BankSOAPBinding" type=" 
http://www.w3.org/2005/12/wsdl/soap ">
    <!-- This particular binding requires ISO9001
         compliance to be verifiable -->
    <feature ref=" http://example.com/ISO9001"
             required="true"/>
    <!-- This binding also requires notarization -->
    <feature ref=" http://example.com/notarization"
             required="true"/>
  </binding>

  <service name="BankService"
           interface="tns:Bank">
    <endpoint name="BankSOAPEndpoint" 
binding="tns:BankSOAPBinding"></endpoint> 
  </service>
</description>

--------

Kind Regards,

Graham.


On 6/5/06, Amelia A Lewis < alewis@tibco.com> wrote:

Aha.  Yes, the example is incorrect, for binding, service, and interface 
as well.  This is the feature composition example.  Checking Core, 
Adjuncts, and the Primer (searching for name= and visual-grepping for 
qualified names) turns up no other instances of the problem. 

Suggest that this be opened as editorial against CR, and fixed as 
(implicitly) recommended; drop the prefix from the name attribute for the 
three places where it is incorrectly inserted.

Amy!
On Mon, 5 Jun 2006 10:51:34 +0100 
"Jeremy Hughes" <hughesj@apache.org> wrote:

>
>The XML representation of the service component in part 1 [1] 
>describes the service name attribute as being of type xs:NCName. 
>However, example WSDL elsewhere in part 1 [2] has a service element
>as:
>
>  <service name="ns1:BankService"
>           interface="tns:Bank">
>
>i.e .. with name attribute as a QName. I believe the service name should 
>be simply "BankService" without qualification.
>
>The binding name in the same example suffers a similar problem.
>
>[1]
> 
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#Service_XMLRep

>[2]
> 
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#Feature_composition_model_example

>
>Many thanks,
>Jeremy
>
>


--
Amelia A. Lewis
Senior Architect
TIBCO/Extensibility, Inc.
alewis@tibco.com

Received on Wednesday, 14 June 2006 22:26:41 UTC