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<http://dev.w3.org/cvsweb/%7Echeckout%7E/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<http://dev.w3.org/cvsweb/%7Echeckout%7E/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 Tuesday, 6 June 2006 17:01:35 UTC