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

Oops.  Just realized that this went only to me, not to the list as a whole.

Having sent a response (first to Graham, then redirecting to the list as a whole), I'm also forwarding Graham's mail to the list.  Graham, I hope that you don't object to this.  If you do ... well, mea culpa, I guess.

Amy!
Begin forwarded message:

Date: Tue, 6 Jun 2006 15:51:13 +0100
From: "Graham Turrell" <gturrell@googlemail.com>
To: "Amelia A Lewis" <alewis@tibco.com>
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
>
>



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

Received on Tuesday, 6 June 2006 15:32:32 UTC