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 Thursday, 9 December 2004 23:46:56 UTC