W3C home > Mailing lists > Public > public-ws-addressing@w3.org > December 2004

RE: Another way of thinking about EPRs

From: Tim Ewald <tim@mindreef.com>
Date: Fri, 10 Dec 2004 08:52:39 -0500
To: "'Martin Gudgin'" <mgudgin@microsoft.com>, <public-ws-addressing@w3.org>
Message-ID: <E1CclCP-00011o-Sh@frink.w3.org>

Gudge,

I understand this view, but I struggle with it. If EPRs are a way to
communicate what headers a receiver wants in an endpoint, how does it relate
to the other mechanisms for specifying headers? I'm willing to ignore the
WSDL header mechanism because it sucks (in 1.1 at least, I don't know about
2.0), but an EPR can carry a policy, which can also specify headers
indirectly using either the generic "use this spec" policy assertion or a
specific assertion from a language like WS-SecurityPolicy.

In fact, I've often wondered whether we need another generic policy
assertion which says "use this header targeted at this actor". One aspect of
that could be fixing the content of the header, but it would be just as
useful or more useful to leave it open. That would let you say, "I need a
<serviceLevel> header with the sender's service level, but I don't want to
fix what it is."

But that's a little off topic. What I really want to know is how, as a
service developer who wants to require headers, I would reason about ref
props, ref params and policies.

Thanks,
Tim-

> -----Original Message-----
> From: public-ws-addressing-request@w3.org [mailto:public-ws-addressing-
> request@w3.org] On Behalf Of Martin Gudgin
> Sent: Thursday, December 09, 2004 6:47 PM
> To: public-ws-addressing@w3.org
> Subject: Another way of thinking about EPRs
> 
> 
> I've noticed that whenever we talk about issues i001 and i008, that
> there is an implicit assumption that we start with an EPR and go from
> that to the message. I think that in many cases, the reverse is actually
> true, that is, people start with SOAP messages with headers in and then
> decide how to communicate to a potential sender what those messages
> should look like ( WRT the headers ).
> 
> For example, I want to have people send me messages that look like the
> three below.
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Gold</m:ServiceLevel>
>    <m:TxId>1234</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Silver</m:ServiceLevel>
>    <m:TxId>1234</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> <soap:Envelope>
>  <soap:Header>
>    <wsa:To>http://example.org/weather</wsa:To>
>    <m:ServiceLevel>Gold</m:ServiceLevel>
>    <m:TxId>4567</m:TxId>
>  </soap:Header>
>  <soap:Body>
>  . . .
>  </soap:Body>
> </soap:Envelope>
> 
> How can I communicate to my users that I want the messages to look like
> this? Ah, I know, I'll send them an EPR. Here are the three EPRs for the
> messages above ( my seperation between Props/Params is arbitrary ).
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Gold</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>1234</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Silver</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>1234</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> <wsa:EndpointReference>
>  <wsa:Address>http://example.org/weather</wsa:Address>
>  <wsa:ReferenceProperties>
>   <m:ServiceLevel>Gold</m:ServiceLevel>
>  </wsa:ReferenceProperties>
>  <wsa:ReferenceParameters>
>   <m:ServiceLevel>4567</m:ServiceLevel>
>  </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> Does this make any sense?
> 
> Gudge
Received on Friday, 10 December 2004 16:28:43 GMT

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