
Frank Siebenlist wrote:
I'd like to go back to the start of your discussion and talk about the required properties of the Address.
The assumptions for the AbstractName are:
* The name MUST be globally unique in both space and time. * The name conforms to URI syntax ("Uniform Resource Identifiers (IRI): Generic Syntax", RFC 3987).
I believe that we need more assumptions on the binding properties itself, and an example may help.
Suppose we have:
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/03/addressing" xmlns:name="http://ggf.org/name"> <wsa:Address> http://tempuri.org/example?Id=3 </wsa:Address> <name:AbstractName> urn:guid:B94C4186-0923-4dbb-AD9C-39DFB8B54388 </name:AbstractName> </wsa:EndpointReference>
As you can see, we have an AbstractName that clearly looks unique in space and time, and an Address that seems to have a service/resource identifier (Id=3) that doesn't look that strong.
Now suppose that this service application is implemented such that after the hosting environment is recycled/restarted, the following EPR is valid:
<wsa:EndpointReference> <wsa:Address> http://tempuri.org/example?Id=4 </wsa:Address> <name:AbstractName> urn:guid:B94C4186-0923-4dbb-AD9C-39DFB8B54388 </name:AbstractName> </wsa:EndpointReference>
(I've removed the name space identifiers for clarity)
As you can see, the implementation has assigned a different Address to the same AbstractName, and we can guess that the Id=4 is the changed distinguishing parameter value used for dispatching to the same service/resource.
on the subject of tooling, you should know that Axis2 drops the ?name=value from any URL before the POST; you need to examine the address and parse out that data yourself if you want query parameters. Also uri#value anchors seem to get stripped completely. Also, that address has to be a non-abstract destionation for the transport, which means for the http transport, that stuff gets posted to the destination. A better example URI would be http://server.example.org/example/4/ as it avoids more implementation details. -steve