Below, you find a sample for the Azure Service-Bus EAI EDI December 2011 CTP with a client (Client A) that sends a SOAP-message to an XML-Bridge. The bridge transforms the message and sends it to the destination service (OrderServiceB). This service is located on-premise and connected to the cloud by the use of a relay-binding.
To send a SOAP-message to the bridge, the client has to request a SWT-Token from Azure (AppFabric) Access Control. For that, it uses the helper-classes AccessControllClient and WrapUtil located in the directory tools. After retrieving it, it includes the token in the actual message within a HTTP-header. Furthermore, the client has to send this message using SSL (Transport-Security without credentials).
After the transformation of the request, the bridge has to change to SOAP-Action-header for the receiving service within a route action; after the receipt and transformation of the response, the SOAP-Action-header now containing the action associated with the response is changed one more time for the receiver using a send action.
The file EAI_Order_Sample.zip contains the EAI-Project; EAI_ServicesAndClients_without_Key.zip consists of the Client (ClientA) and Service (OrderServiceB). Furthermore, it contains a OrderServiceA which directly accepts the SOAP-messages created from Client A (without transformation) and a ClientB that directly sends correct SOAP-messages to OrderServiceB. The latter two were used for creating and testing the former two and are not required for this sample. Both services write the received orders to c:\temp and support for the Cancellation-Option within ClientA has not been implemented yet.
EAI_Order_Sample.zip (44,89 kb)
EAI_ServicesAndClients_without_Key.zip (2,57 mb)