Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Java-SCA-1.6
-
None
Description
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:
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsa:Address>http://mitch-linux.corp.shutterfly.com:8084/Hotel/SearchCallback</wsa:Address><wsa:ReferenceParameters><tuscany:CallbackID xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">HotelSearchCallbackID-f8def3a6-9814-4a83-9aad-68aaa4bae3f6</tuscany:CallbackID><tuscany:ConversationID xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">1108b941-f4f9-4122-b1cc-0b808fd2bf6a</tuscany:ConversationID></wsa:ReferenceParameters></wsa:From> <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://common.tuscanytours.com/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</fromLocation><id>f8def3a6-9814-4a83-9aad-68aaa4bae3f6</id><noOfPeople>2</noOfPeople><toDate>13/12/09</toDate><toLocation>FLR</toLocation></arg0></_ns_:searchAsynch></soapenv:Body></soapenv:Envelope>
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.