13.9.17. SOAPProxy

The SOAPProxy is an action that "consumes" external web service end-points. It also allows you to re-publish a web service end-point via the Enterprise Service Bus. Sitting between the external services and the ESB, the purpose of this intermediary is to provide an abstraction layer it provides the following functionality:
  • it facilitates loose coupling between the client and service (since they are both completely unaware of each other.)
  • it means the client no longer has a direct connection to the remote service's hostname/IP address.
  • the client will see modified WSDL that changes the inbound/outbound parameters. At a minimum, the WSDL must be tweaked so that the client is pointed to the ESB's exposed end-point instead of the original, now proxied endpoint.
  • it allows you to introduce a transformation of the SOAP envelope/body via the action pipeline both for the inbound request and outbound response.
  • it makes service versioning possible since clients can connect to two or more proxy end-points on the enterprise service bus, each with its own WSDL and/or transformations and routing requirements, and the ESB will send the appropriate message to the appropriate endpoint and provide an ultimate response.
  • it allows for complex context-based routing via ContentBasedRouter.