Re: [jira] Created: (TUSCANY-1849) Callbacks over Web Service binding don't conform to the WS-Addressing spec
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
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
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]