Supported Since: 17.07
I want to direct my web service calls by introducing a soap versioning service of the UltraESB-X. This service is not supposed to do processing and it will directly route the received SOAP messages to the appropriate SOAP version based service.
As shown in the following diagram, ESB will come in between the actual end user and the back end services.
In order to implement above use case you must first select following dependencies when you are creating a new Ultra project.
HTTP NIO Connector from the connector list
|If you have already created a project, you can add above dependencies via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Connectors list and Processors list, select above dependencies.|
To implement above use case, first create an integration flow named “soap-sample-flow”, and then add required components by going through following steps in order.
Add a HTTP NIO Ingress Connector from the Connectors → Ingress Connectors list, to accept the HTTP requests from the user. NIO HTTP Listener’s basic parameters should be filled as below to expose a service at port 8280 on the resource path /service/soapService
Add three Processors of type HTTP NIO Egress Connector from the Connectors → Egress Connectors list, to send the received request to the actual back end services. For that NIO HTTP Egress Connector’s basic parameters should be filled as below table.
Add a SOAP Router from the Processors → SOAP Router, to route the SOAP messages based on the version. No configurations are required for the element.
Add two Processors of type SOAP Action Setter from Processors → SOAP Action Setter, to set the SOAP action of the message. The basic parameters should be filled as below to set the SOAP Action
Add two Processors of type SOAP Action Getter from Processors → SOAP Action Getter, to get the SOAP action and include it as a scope variable of the message.
Add respective Logger elements to verify the SOAP action headers obtained from the scope variable.
The completed integration flow should look like below.
Configuration for each element is as below. The numbering corresponds to the numbers shown in above diagram.