W3C home > Mailing lists > Public > public-ws-addressing@w3.org > August 2005

Re: Action without UsingAddressing

From: Francisco Curbera <curbera@us.ibm.com>
Date: Mon, 1 Aug 2005 16:05:37 -0400
To: Anish Karmarkar <Anish.Karmarkar@oracle.com>
Cc: Arun Gupta <Arun.Gupta@Sun.COM>, public-ws-addressing@w3.org, public-ws-addressing-request@w3.org
Message-ID: <OF852A18C7.8CAD6DE4-ON85257050.006E50BA-85257050.006E6019@us.ibm.com>

Anish,

I think you are right, we're saying the same thing wrt the use of
wsdl:required='false'.

Sorry for the misunderstanding.

Paco



                                                                                                                                        
                      Anish Karmarkar                                                                                                   
                      <Anish.Karmarkar@        To:       Francisco Curbera/Watson/IBM@IBMUS                                             
                      oracle.com>              cc:       Arun Gupta <Arun.Gupta@Sun.COM>, public-ws-addressing@w3.org,                  
                                                public-ws-addressing-request@w3.org                                                     
                      08/01/2005 03:02         Subject:  Re: Action without UsingAddressing                                             
                      PM                                                                                                                
                                                                                                                                        




Francisco Curbera wrote:
> I don't agree with the wsdl:required='false' analogy. That only means
that
> the client processing the WSDL may ignore a certain WSDL extension, in
this
> case wsaw:UsingAddressing.

Perhaps we are saying the same thing. But, I'm not sure.

wsdl:required='false' tells the wsdl processor what is optional. The
service is still required to support it (since it is advertising it),
but the client may or may not support it.

WSDL 1.1 in section 2.1.3 [.1] says:
"Extensibility elements are commonly used to specify some technology
specific binding. To distinguish whether the semantic of the technology
specific binding is required for communication or optional,
extensibility elements MAY place a wsdl:required attribute of type
boolean on the element. The default value for required is false. The
required attribute is defined in the namespace
"http://schemas.xmlsoap.org/wsdl/"."

WSDL 2.0 section 2.7.2.2 (for Features) [.2] says:
"The required attribute information item specifies whether the use of
the feature is mandatory or optional."

WSDL 2.0 section 6.1.1 (Mandatory extensions) [.3] says:
"Extension elements can be marked as mandatory by annotating them with a
wsdl:required attribute information item (see 6.1.2 required attribute
information item) with a value of "true"."

and

"An extension that is NOT marked as mandatory MUST NOT invalidate the
meaning of any part of the WSDL 2.0 document. Thus, a NON-mandatory
extension merely provides additional description of capabilities of the
service. This specification does not provide a mechanism to mark
extension attributes as being required. Therefore, all extension
attributes are NON-mandatory."

[.1] http://www.w3.org/tr/wsdl
[.2]
http://www.w3.org/TR/2005/WD-wsdl20-20050510/#Feature_required_attribute
[.3] http://www.w3.org/TR/2005/WD-wsdl20-20050510/#language-extensibility

> Maybe I am missing something but I don't think a
> wsdl:required='false' allows the service to exhibit random behavior.

I was not making a statement about the service, but about a WSDL processor.

> That
> service is promising to honor WSA for incoming WSA compliant messages but
> also to accept non WSA messages.
>

I completely agree (although there is this pesky question of how does
the service determine whether the incoming message is a WSA message or
not -- especially for the edge cases -- for which I don't think there is
a consensus within the WG, even after the lengthy thread on it).

But, that is not the question Arun is asking -- he is interested in the
WSDL processor behavior [.1]

[.1]
http://lists.w3.org/Archives/Public/public-ws-addressing/2005Jul/0174.html

HTH.

-Anish
--

> As for Arun's question, my view is that a server that does not include
the
> wsaw:UsingAddressing marker in the binding cannot be assumed to be
> following WSA. Of course, services may have additional unpublished
> behaviors, but those are not part of the public contract so they don't
> exist from a WSDL perspective. Based on the WSDL, a client should only
> assume WSA compliance when explicitly stated in the binding.
>
> Paco
>
>
>
>

>                       Anish Karmarkar

>                       <Anish.Karmarkar@oracle.        To:       Arun
Gupta <Arun.Gupta@Sun.COM>
>                       com>                            cc:
public-ws-addressing@w3.org

>                       Sent by:                        Subject:  Re:
Action without UsingAddressing
>                       public-ws-addressing-req

>                       uest@w3.org

>

>

>                       07/29/2005 03:32 PM

>

>
>
>
>
>
> Arun Gupta wrote:
>
>>In that case two WSDL processors can process the same WSDL differently.
>>For instance, one WSDL processor may ignore wsaw:Action and the other
>>processor may use it for sending SOAP messages. Is that an acceptable
>>behavior ?
>>
>
>
> I would think so. The WSDL spec does not say whether attribute
> extensions are mandatory or not.
>
> This is no different than having wsa:UsingAddressing element with a
> wsdl:required='false'. In such a case, WSDL processor A may choose to
> engage WS-Addressing and WSDL processor B may not choose to engage
> WS-Addressing. Which is fine, since the service advertised it as so.
>
>
>>Since wsaw:UsingAddressing is the normative way to define the intent to
>>conform to WS-Addressing, I think we need to define a consistent
>>behavior in the WSDL binding to that effect. Basically stating that
>>wsaw:Action on an operation need to be processed only if
>>wsaw:UsingAddressing exists. Is that too strong a statement ?
>>
>
>
> I think it is too strong a statement. It is possible that WS-Addressing
> is engaged even if wsa:UsingAddressing is not specified in WSDL. One way
> this may happen is (as Umit mentions in her email) through policies.
>
>
>>-Arun
>>
>>Anish Karmarkar wrote:
>>
>>
>>>There aren't any required/mustUnderstand rules for attribute
>>>extensions (which is what wsaw:Action is) in WSDL. If wsaw:Action is
>>>present without a wsaw:UsingAddressing on the corresponding
>>>binding/port then I would think it would be up to the WSDL processor
>>>to decide whether it wants to ignore wsaw:Action or not (in which case
>>>it will have to engage ws-addressing).
>>>
>>>-Anish
>>>--
>>>
>>>Arun Gupta wrote:
>>>
>>>
>>>>If the WSDL does not contain wsaw:UsingAddressing in either
>>>>wsdl:binding or wsdl:port but some of the wsdl:portType/
>>>>wsdl:operation(s) contain wsaw:Action, what is the expected  behavior
>>>>in such case ?
>>>>
>>>>I would expect that we ignore wsaw:Action on wsdl:operation. WSDL
>>>>Binding does not seem to say anything about such a case.
>>>>
>>>>-Arun
>>>
>>>
>>>
>
>
>
>
Received on Monday, 1 August 2005 20:05:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:35:08 GMT