Re: [wsbpel] Issue - 77 - Under specified operation definitions

From
Ron Ten-Hove <>
Date
2003-11-25T19:57:19+00:00
ID
Thread
Re: [wsbpel] Issue - 77 - Under specified operation definitions
Ugo,

Ugo Corda wrote:

  
  
  
  
Ron,

  
 

  
>
Some bindings will include extra message parts (possibly as SOAP
headers, or JMS headers), while others will not (perhaps an EJB or MDB
binding?). 

  
>
The only message parts guaranteed to be delivered to the service by all
of the possible bindings are those declared in the port type. 

  
 

  
No,
there is no guarantee that the parts declared in a port type will be
delivered by all possible bindings. A binding can select any subset of
those parts (possibly the empty subset). This is clearly specified in
the SOAP binding where the soap:body element can select which parts are
going to be mapped to concrete messages and which ones are not.

  
 

  
This
is exactly the same thing that happens with abstract messages that are
not part of a port type. A particular binding will select some of them
and leave others out. The only difference is that, in the case of SOAP
bindings, portType parts can map to either bodies or headers, while non
portType parts can only map to headers. Nothing is said, of course,
about bindings other than SOAP which don't have the concept of a header.

    What, exactly is the relationship between an operation defined in a
port type, and that operation as bound to a particular protocol?  Is
this why you are concerned about relying on port types for our message
descriptions?

  
 

  
>
How could any reasonable interpretation or use of WSDL conclude that a
specific binding type (namely SOAP) 

  
> has
the ability to jump across the logical layers that WSDL has defined
(albeit imperfectly!). 

  
>
This is fundamental: we are talking about the WSDL model of messaging,
not SOAP.

  
 

  
I
am talking about any possible binding, not just SOAP. It really all
depends on how you define the logical layers. We all agree there is an
abstract layer and a concrete layer. So far nobody has shown me that
the WSDL 1.1 states that abstract messages outside portTypes are not
part of the abstract layer. In particular, your quotations below do not
say anything about that either.

    WSDL 1.1, Section 2.5:

"A binding defines message format and protocol details for
operations and messages defined by a particular portType."

    This clearly separates the layers. I don't see any mention of 
"extra" abstract messages becoming part of the abstract endpoint type.
Microsoft has a nice article
on the MSDN site that includes a diagram that illustrates this
nicely.

    Perhaps we a suffering from terminology differences here. Can you
provide us with a definition of an abstract endpoint using WSDL
terminology? I hold that an abstract endpoint is defined by the port
type (or interface, if you prefer WSDL 2.0 terminology).

Cheers,

-Ron