WS-Addressing only has a recommendation, one that is followed by Apache
Synapse explicitly within their engine for proxying services by default
(which is how we found out about this in the first place).

The W3 spec excerpt is below:

[action] : URI (mandatory) An identifier that uniquely (and opaquely)
identifies the semantics implied by this message.

It is RECOMMENDED that value of the [action] property is a URI identifying
an input, output, or fault message within a WSDL port type. An action may be
explicitly or implicitly associated with the corresponding WSDL definition.
Section 3.3 below describes the mechanisms of association. Finally, if in
addition to the [action] property, a SOAP Action URI is encoded in a
request, the URI of the SOAP Action MUST be the same as the one specified by
the [action] property.



On 3/5/10 2:33 PM, "Mitchell Ratisher (JIRA)" <[email protected]>
wrote:

> 
>     [ 
> https://issues.apache.org/jira/browse/TUSCANY-3484?page=com.atlassian.jira.plu
> gin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842070#action_12
> 842070 ] 
> 
> Mitchell Ratisher commented on TUSCANY-3484:
> --------------------------------------------
> 
> Luciano, it works great.  WSO2 is now able to consume the SOAP messages from
> Tuscany.
> 
> My only concern, and I think this is pretty minor, is whether or not the right
> data is being put into both the wsa:Action and the SOAP Action (which do
> match, as per spec).  Both are showing the URL to access the service (e.g.
> http://localhost:8280/services/carsearch, which is the proxy URL on the ESB).
> Albert was of the opinion that it should be a fully qualified operation in the
> namespace of the service,
> e.g.http://common.tuscanytours.com/Search/searchAsyncRequest.  I'll leave
> consideration of this issue to somebody with a better feel for the intent of
> the WS-Addressing spec than I have.
> 
> 
> 
>> Tuscany does not set "Action" header for WS-Addressing
>> ------------------------------------------------------
>> 
>>                 Key: TUSCANY-3484
>>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3484
>>             Project: Tuscany
>>          Issue Type: Bug
>>          Components: Java SCA Axis Binding Extension
>>    Affects Versions: Java-SCA-1.6
>>            Reporter: Mitchell Ratisher
>>             Fix For: Java-SCA-1.6
>> 
>>         Attachments: tuscany-binding-ws-axis2-1.6.jar
>> 
>> 
>> Tuscany should be setting the wsa:Action tag in the SOAP header when using
>> WS-Addressing.  I believe this would take place in class
>> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker, probably by
>> referencing  org.apache.axis2.addressing.AddressingConstants.WSA_ACTION.
>> Below is an example (based on the Tuscany Tours sample app) that includes the
>> missing wsa:Action tag:
>> {noformat}
>> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header><ws
>> a:From 
>> xmlns:wsa="http://www.w3.org/2005/08/addressing";><wsa:Address>http://mitch-li
>> nux.corp.shutterfly.com:8084/Hotel/SearchCallback</wsa:Address><wsa:Reference
>> Parameters><tuscany:CallbackID
>> xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0";>HotelSearchCallbackID
>> -f8def3a6-9814-4a83-9aad-68aaa4bae3f6</tuscany:CallbackID><tuscany:Conversati
>> onID 
>> xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0";>1108b941-f4f9-4122-b1
>> cc-0b808fd2bf6a</tuscany:ConversationID></wsa:ReferenceParameters></wsa:From>
>> <wsa:Action 
>> xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://common.tuscanytours.c
>> om/Search/searchAsyncRequest</wsa:Action>
>> </soapenv:Header><soapenv:Body><_ns_:searchAsynch
>> xmlns:_ns_="http://common.tuscanyscatours.com/";><arg0
>> xmlns:ns2="http://common.tuscanyscatours.com/";
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:type="tripLeg"><fromDate>06/12/09</fromDate><fromLocation>LGW</fromLocati
>> on><id>f8def3a6-9814-4a83-9aad-68aaa4bae3f6</id><noOfPeople>2</noOfPeople><to
>> Date>13/12/09</toDate><toLocation>FLR</toLocation></arg0></_ns_:searchAsynch>
>> </soapenv:Body></soapenv:Envelope>
>> {noformat}
>> An example of an interoperability problem caused by this ommission is that
>> WSO2 ESB cannot proxy between Tuscany instances, because Axis requires the
>> wsa:Action tag if WS-Addressing is used.

Reply via email to