Re: EndpointRefs-47

On Tue, Oct 11, 2005 at 07:38:43PM +0100, Henry S. Thompson wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> So I see a better source for an example, in Hugo Haas's slides about
> WS-A [1]:
> 
>  <wsa:EndpointReference . . .>
>   <wsa:Address>
>     http://example.com/fabrikam/acct
>   </wsa:Address>
>   . . .
>   <wsa:ReferenceParameters>
>     <fabrikam:CustomerKey>
>       412
>     </fabrikam:CustomerKey>
>   </wsa:ReferenceParameters>
> </wsa:EndpointReference>
> 
> Why not use the following URI to identify that endpoint:
> 
>   http://example.com/fabrikam/acct?fabrikam:CustomerKey=412
> 
> ?  That's an endpoint I'd _like_ to have a URI for, if my customer key
> was 412. . .

Indeed.  If you look at examples from the original WS-Addressing
submission[1], and compare it to those in the current SOAP binding[2],
you'll see that "CustomerKey" has just been moved from
ReferenceProperties (which were deprecated[3] for Web-architectural
reasons; they were used to "identify") to ReferenceParameters.
*groan* 8-(

Here's two example EPRs, before and after;

<wsa:EndpointReference xmlns:wsa="..." xmlns:fabrikam="...">
   <wsa:Address>http://www.fabrikam123.example/acct</wsa:Address>
   <wsa:ReferenceProperties>
       <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
   </wsa:ReferenceProperties>
   <wsa:ReferenceParameters>
       <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
   </wsa:ReferenceParameters>
</wsa:EndpointReference>

<wsa:EndpointReference
     xmlns:wsa="http://www.w3.org/2005/03/addressing"
     xmlns:fabrikam="http://example.com/fabrikam"
     xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
     wsdli:wsdlLocation="http://example.com/fabrikam
       http://example.com/fabrikam/fabrikam.wsdl">
   <wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
   <wsa:Metadata>
       <wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName>
   <wsa:Metadata>
   <wsa:ReferenceParameters>
       <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
       <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
   </wsa:ReferenceParameters>
</wsa:EndpointReference>

AFAICT, there's little guidance provided in the WS-A specifications
about avoiding resource-identification with Reference Parameters.
Then again, there's the issue that Dave raised of why Web services
should be concerned with architectural guidance for the Web, since
Web services are not the Web.

 [1] http://www.w3.org/Submission/ws-addressing/#_Toc77464320
 [2] http://www.w3.org/TR/2005/WD-ws-addr-soap-20050331/#bindrefp
 [3] http://lists.w3.org/Archives/Public/www-tag/2005Jan/0017

Mark.

Received on Tuesday, 11 October 2005 19:49:24 UTC