Re: HTML version of operation name proposal

Hi Sanjiva,

You were asking Gudge, but I hope you don't mind if I try
to answer your questions.

Sanjiva Weerawarana wrote:

>Hi Gudge,
>
>I have some questions in trying to understand your proposal. They
>are centered around how this works with inheritance and the other
>on language binding.
>
>Consider the following case (using pseudo syntax which I hope clear
>enough to all):
>
>WSDL document 1:
>    namespace = nsuri-1;
>    portType pt1 {
>        operation o1;
>        operation o2;
>    }
>
>WSDL document 2:
>    namespace = nsuri-2;
>    portType pt2 extends {nsuri-1}pt1 {
>        operation o3;
>    }
>
>Now, what are the operations available in {nsuri-2}pt2? Can you
>please indicate both the name and targetnamespace properties of
>each of the operations?
>
There's three of them:
  operation {nsuri-1}o1;
  operation {nsuri-1}o2;
  operation {nsuri-2}o3;

>Also consider another WSDL document:
>
>WSDL document 3:
>    namespace = nsuri-3;
>    portType pt3 extends {nsuri-1}pt1 {
>        operation o1;
>    }
>            
>Is this legal? What are the constraints on what can be in the o1
>definition in pt3 (if any)?
>
Yes, it is legal. In short, the qualified name of an operation must be 
unique.
It's just like before, but instead of saying "the name must be unique" 
we now
say "the qualified name must be unique".

>If legal, what are the values of the TNS and name properties of 
>all the operations available via pt3?
>
operation {nsuri-1}o1;
operation {nsuri-1}o2;
operation {nsuri-3}o1;

>Finally, how does all this look when bound to a language (like
>Java)? I'd like to understand how the targetnamespace properties
>of an operation name will be represented in the language binding.
>Yes, I know we don't do language binding, but someone does.
>
Hmmm, wonder who that someone might be!  ;-)

I guess you'll have to come up with identifiers that reflect the 
combination of
namespace name and local part. In most cases, everything will be fine, 
in some
cases tools will come up with bad defaults and humans will override them.

Notice also that the problem exists today, even without overloading: if you
have an operation called "foo-bar" and the dash ('-') is not valid in 
identifiers,
you'll have to map it to something else (fooBar, foobar, foox2DBar, 
foo45Bar,
foo$2D$Bar), but no matter how clever you are you might get a conflict
with another operation (called, e.g. "fooBar", or "foobar", or...).

Roberto

>Thanks,
>
>Sanjiva.
>
>----- Original Message ----- 
>From: "Martin Gudgin" <mgudgin@microsoft.com>
>To: <www-ws-desc@w3.org>
>Sent: Thursday, January 30, 2003 11:45 PM
>Subject: HTML version of operation name proposal
>
>
>  
>
>>An HTML version of the operation name proposal can be found at[1]. It is
>>exactly the same as the XML version at[2]. It differs from the link I
>>previously sent out to the list in two respects:
>>
>>1. It contains the best practice note
>>2. The binding operation component now has a {target namespace}
>>property to match the corresponding component in the port type
>>
>>Gudge
>>
>>[1]
>>http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.html?rev=
>>1.18.2.1&content-type=text/html
>>[2]
>>http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl12/wsdl12.xml?rev=1
>>.37.2.3&content-type=text/xml
>>    
>>

Received on Thursday, 30 January 2003 17:53:21 UTC