Administering Mediator : Mediator : WS-Addressing Processing in Mediator : Implementation of WS-Addressing in Mediator
Implementation of WS-Addressing in Mediator
 
Creating an IS Flow Service for WS-Addressing
Method 2: Client Request Sending WS-Addressing Information
Mediator does not support WS-Addressing as a proxy server by itself. However, using Mediator, clients can send WS-Addressing information to the native service. There are two ways to achieve this functionality:
*Method 1: Using an IS Flow Service for WS-Addressing
*Method 2: Client Request Sending WS-Addressing Information
Method 1: Using an IS Flow Service for WS-Addressing
You can create an IS (Integration Server) flow service and configure it with the public services provided by Mediator. The run-time processing steps are:
The run-time processing steps are as follows:
1. Client sends the request to Mediator without WS-Addressing headers.
For example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://Username.Domain/service">
<soapenv:Header/>
<soapenv:Body>
<ser:AddInts>
<A>10</A>
<B>34</B>
</ser:AddInts>
</soapenv:Body>
</soapenv:Envelope>
2. Mediator receives the request, appends the WSA header information through an IS flow service, and routes it to the native service endpoint.
In the IS service we need to set the WSA header information, such as the destination URI (To), Action, and mustUnderstand. The IS service is configured in the request processing step in CentraSite.
The values of the WSA header information are:
*The destination URI (To) is http://Username.Domain:5555/ws/service:AddInts_WSD/service_AddInts_WSD_Port.
*Action is service_AddInts_WSD_Binder_AddInts.
*mustUnderstand is true.
For example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://Username.Domain/service">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To soapenv:mustUnderstand="1">
http://Username.Domain:5555/ws/service:AddInts_WSD/
service_AddInts_WSD_Port
</wsa:To>
<wsa:ReplyTo soapenv:mustUnderstand="1">
<wsa:Address>
http://www.w3.org/2005/08/addressing/anonymous
</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID soapenv:mustUnderstand="1">
urn:uuid:a7ebc83f-6400-408e-abd1-2e9bf5187a46
</wsa:MessageID>
<wsa:Action soapenv:mustUnderstand="1">
service_AddInts_WSD_Binder_AddInts
</wsa:Action>
</soapenv:Header>
<soapenv:Body>
<ser:AddInts>
<A>10</A>
<B>34</B>
</ser:AddInts>
</soapenv:Body>
</soapenv:Envelope>
3. Native service receives the request from Mediator, processes it, and sends a WSA response to Mediator.
For example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
<wsa:ReplyTo>
<wsa:Address>
http://www.w3.org/2005/08/addressing/anonymous
</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>
urn:uuid:4bfd5406-060f-4180-aacf-0ba2f8a3d10e
</wsa:MessageID>
 
<wsa:Action>
http://Username.Domain/service/AddInts_WSD_PortType/AddIntsResponse
</wsa:Action>
<wsa:RelatesTo RelationshipType="http://www.w3.org/
2005/08/addressing/reply">
urn:uuid:a7ebc83f-6400-408e-abd1-2e9bf5187a46
</wsa:RelatesTo>
</soapenv:Header>
<soapenv:Body>
<ser-root:AddIntsResponse xmlns:ser-root="http://Username.Domain/
service" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<C>44</C>
</ser-root:AddIntsResponse>
</soapenv:Body>
</soapenv:Envelope>
4. Mediator receives the response from native service, removes WSA header information (shown in step 3), and sends the remaining information to the client.
Since the client never sent the WS-Addressing header to the proxy server (Mediator), the WSA in the response is removed from the native service response. For example:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ser-root:AddIntsResponse xmlns:ser-root="http://Username.Domain/
service" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<C>44</C>
</ser-root:AddIntsResponse>
</soapenv:Body>
</soapenv:Envelope>
Copyright © 2015- 2017 Software AG, Darmstadt, Germany. (Innovation Release)

Product LogoContact Support   |   Community   |   Feedback