Re: [jira] Created: (TUSCANY-1849) Callbacks over Web Service binding don't conform to the WS-Addressing spec

2007-10-15 Thread Simon Nash

I thought of another alternative for the protocol.  We could use
Tuscany-specific headers instead of WS-Addressing headers for the
additional information.  WS-Addressing would only be used for the
callback's endpoint.  Something like:

Request message:
tuscany:ReferenceParameters xmlns:wsa=... xmlns:tuscany=...
  tuscany:CallbackIDcallback-A01/tuscany:CallbackID
  tuscany:ConversationIDconversation-006/tuscany:ConversationID
  tuscany:CallbackReference
wsa:EndpointReference
  wsa:Address...URI of the service for the callback.../wsa:Address
/wsa:EndpointReference
  /tuscany:CallbackReference
/tuscany:ReferenceParameters

Callback message:
tuscany:ReferenceParameters xmlns:wsa=... xmlns:tuscany=...
  tuscany:CallbackIDcallback-A01/tuscany:CallbackID
  tuscany:ConversationIDconversation-006/tuscany:ConversationID
/tuscany:ReferenceParameters

  Simon

Simon Nash wrote:


I have discovered that the protocol that Tuscany 1.0 is using for
callbacks over the Web Service binding is not compliant with the
WS-Addressing spec.

We are using the wsa:To header to pass an EPR with reference
parameters.  This violates the WS-Addressing spec, which requires
the wsa:To value to be a URI and not a wsa:EndpointReference.
The proposal to use wsa:To was mine, and I should have checked this
more carefully at the time.

I think the easiest change to make us compliant is to attach the
wsa:ReferenceParameters element (containing the Tuscany parameters
CallbackID, ConversationID and CallbackReference) to the wsa:From
header instead of attaching it to the wsa:To header.  The
wsa:EndpointReference within the wsa:From header would be the
special anonymous value.  I believe we also need to send a wsa:To
header containing the destination URI in order to be compliant with
the WS-Addressing spec.  (If we don't specify wsa:To, the default
is anonymous which means the To endpoint is not addressable.)

This would produce the following request and callback messages.

Request message:
wsa:To...URI of the service being invoked.../wsa:To
wsa:From
 wsa:EndpointReference xmlns:wsa=... xmlns:tuscany=...
   
wsa:Addresshttp://www.w3.org/2005/08/addressing/anonymous/wsa:Address

   wsa:ReferenceParameters
 tuscany:CallbackIDcallback-A01/tuscany:CallbackID
 tuscany:ConversationIDconversation-006/tuscany:ConversationID
 tuscany:CallbackReference
   wsa:EndpointReference
 wsa:Address...URI of the service for the 
callback.../wsa:Address

   /wsa:EndpointReference
 /tuscany:CallbackReference
 /wsa:ReferenceParameters
  /wsa:EndpointReference
/wsa:From

Callback message:
wsa:To...URI of the service for the callback.../wsa:To
wsa:From
 wsa:EndpointReference xmlns:wsa=... xmlns:tuscany=...
   
wsa:Addresshttp://www.w3.org/2005/08/addressing/anonymous/wsa:Address

   wsa:ReferenceParameters
 tuscany:CallbackIDcallback-A01/tuscany:CallbackID
 tuscany:ConversationIDconversation-006/tuscany:ConversationID
   /wsa:ReferenceParameters
 /wsa:EndpointReference
/wsa:From

Now for the nasty part.  If we make this change, we will break
interoperability between the new fixed code and Tuscany 1.0.  We could
make the new code also accept the old format without too much difficulty,
but there's no way to make the old code accept the new format.  There's
also no way to identify the old code so that the new code can send it
the old format.

In a previous life, I worked on a product that handled these situations
with a proprietary protocol to exchange partner version information
so that newer code could know it was speaking to older code and send it
the appropriate back-level protocol.  It's ugly and it only works when
the same product is at both ends of the communication.  I doubt that
we would want to use such a scheme in Tuscany.

Any thoughts on the above proposed protocol, and/or how we should
handle the incompatibility with Tuscany 1.0?

  Simon

Simon Nash (JIRA) wrote:

Callbacks over Web Service binding don't conform to the WS-Addressing 
spec
-- 



 Key: TUSCANY-1849
 URL: https://issues.apache.org/jira/browse/TUSCANY-1849
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-1.0
 Environment: All
Reporter: Simon Nash
Assignee: Simon Nash
 Fix For: Java-SCA-1.1


In discussions on the OASIS sca-bindings list about callbacks over the 
Web Service binding, it has been pointed out that Tuscany's use of the 
WS-Addressing wsa:To header to pass an EPR with reference parameters 
violates the WS-Addressing spec, which requires the wsa:To value to be 
a URI.


I'll start a discussion on tuscany-dev about how best to fix this 
without breaking interoperability with Tuscany 1.0.







-
To unsubscribe, e-mail: [EMAIL 

[jira] Created: (TUSCANY-1849) Callbacks over Web Service binding don't conform to the WS-Addressing spec

2007-10-14 Thread Simon Nash (JIRA)
Callbacks over Web Service binding don't conform to the WS-Addressing spec
--

 Key: TUSCANY-1849
 URL: https://issues.apache.org/jira/browse/TUSCANY-1849
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-1.0
 Environment: All
Reporter: Simon Nash
Assignee: Simon Nash
 Fix For: Java-SCA-1.1


In discussions on the OASIS sca-bindings list about callbacks over the Web 
Service binding, it has been pointed out that Tuscany's use of the 
WS-Addressing wsa:To header to pass an EPR with reference parameters violates 
the WS-Addressing spec, which requires the wsa:To value to be a URI.

I'll start a discussion on tuscany-dev about how best to fix this without 
breaking interoperability with Tuscany 1.0.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Created: (TUSCANY-1849) Callbacks over Web Service binding don't conform to the WS-Addressing spec

2007-10-14 Thread Simon Nash

I have discovered that the protocol that Tuscany 1.0 is using for
callbacks over the Web Service binding is not compliant with the
WS-Addressing spec.

We are using the wsa:To header to pass an EPR with reference
parameters.  This violates the WS-Addressing spec, which requires
the wsa:To value to be a URI and not a wsa:EndpointReference.
The proposal to use wsa:To was mine, and I should have checked this
more carefully at the time.

I think the easiest change to make us compliant is to attach the
wsa:ReferenceParameters element (containing the Tuscany parameters
CallbackID, ConversationID and CallbackReference) to the wsa:From
header instead of attaching it to the wsa:To header.  The
wsa:EndpointReference within the wsa:From header would be the
special anonymous value.  I believe we also need to send a wsa:To
header containing the destination URI in order to be compliant with
the WS-Addressing spec.  (If we don't specify wsa:To, the default
is anonymous which means the To endpoint is not addressable.)

This would produce the following request and callback messages.

Request message:
wsa:To...URI of the service being invoked.../wsa:To
wsa:From
 wsa:EndpointReference xmlns:wsa=... xmlns:tuscany=...
   wsa:Addresshttp://www.w3.org/2005/08/addressing/anonymous/wsa:Address
   wsa:ReferenceParameters
 tuscany:CallbackIDcallback-A01/tuscany:CallbackID
 tuscany:ConversationIDconversation-006/tuscany:ConversationID
 tuscany:CallbackReference
   wsa:EndpointReference
 wsa:Address...URI of the service for the callback.../wsa:Address
   /wsa:EndpointReference
 /tuscany:CallbackReference
 /wsa:ReferenceParameters
  /wsa:EndpointReference
/wsa:From

Callback message:
wsa:To...URI of the service for the callback.../wsa:To
wsa:From
 wsa:EndpointReference xmlns:wsa=... xmlns:tuscany=...
   wsa:Addresshttp://www.w3.org/2005/08/addressing/anonymous/wsa:Address
   wsa:ReferenceParameters
 tuscany:CallbackIDcallback-A01/tuscany:CallbackID
 tuscany:ConversationIDconversation-006/tuscany:ConversationID
   /wsa:ReferenceParameters
 /wsa:EndpointReference
/wsa:From

Now for the nasty part.  If we make this change, we will break
interoperability between the new fixed code and Tuscany 1.0.  We could
make the new code also accept the old format without too much difficulty,
but there's no way to make the old code accept the new format.  There's
also no way to identify the old code so that the new code can send it
the old format.

In a previous life, I worked on a product that handled these situations
with a proprietary protocol to exchange partner version information
so that newer code could know it was speaking to older code and send it
the appropriate back-level protocol.  It's ugly and it only works when
the same product is at both ends of the communication.  I doubt that
we would want to use such a scheme in Tuscany.

Any thoughts on the above proposed protocol, and/or how we should
handle the incompatibility with Tuscany 1.0?

  Simon

Simon Nash (JIRA) wrote:


Callbacks over Web Service binding don't conform to the WS-Addressing spec
--

 Key: TUSCANY-1849
 URL: https://issues.apache.org/jira/browse/TUSCANY-1849
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-1.0
 Environment: All
Reporter: Simon Nash
Assignee: Simon Nash
 Fix For: Java-SCA-1.1


In discussions on the OASIS sca-bindings list about callbacks over the Web 
Service binding, it has been pointed out that Tuscany's use of the 
WS-Addressing wsa:To header to pass an EPR with reference parameters violates 
the WS-Addressing spec, which requires the wsa:To value to be a URI.

I'll start a discussion on tuscany-dev about how best to fix this without 
breaking interoperability with Tuscany 1.0.






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]