You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Nash (JIRA)" <tu...@ws.apache.org> on 2007/10/14 21:12:51 UTC

[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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


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

Posted by Simon Nash <na...@hursley.ibm.com>.
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:CallbackID>callback-A01</tuscany:CallbackID>
   <tuscany:ConversationID>conversation-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:CallbackID>callback-A01</tuscany:CallbackID>
   <tuscany:ConversationID>conversation-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:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
>    <wsa:ReferenceParameters>
>      <tuscany:CallbackID>callback-A01</tuscany:CallbackID>
>      <tuscany:ConversationID>conversation-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:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
>    <wsa:ReferenceParameters>
>      <tuscany:CallbackID>callback-A01</tuscany:CallbackID>
>      <tuscany:ConversationID>conversation-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: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


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

Posted by Simon Nash <na...@hursley.ibm.com>.
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:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
    <wsa:ReferenceParameters>
      <tuscany:CallbackID>callback-A01</tuscany:CallbackID>
      <tuscany:ConversationID>conversation-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:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
    <wsa:ReferenceParameters>
      <tuscany:CallbackID>callback-A01</tuscany:CallbackID>
      <tuscany:ConversationID>conversation-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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


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

Posted by "Simon Nash (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Nash resolved TUSCANY-1849.
---------------------------------

    Resolution: Fixed

Fixed in revision r608822.  See [1] for details of the headers that are sent now.

http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg26701.html

> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


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

Posted by "ant elder (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ant elder updated TUSCANY-1849:
-------------------------------

    Fix Version/s:     (was: Java-SCA-1.1)
                   Java-SCA-Next

> 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-Next
>
>
> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


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

Posted by "Simon Nash (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Nash updated TUSCANY-1849:
--------------------------------

    Fix Version/s:     (was: Java-SCA-Next)
                   Java-SCA-1.1

> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org