A common requirement when integrating services is often the ability to invoke existing web services. These web services may be internally developed, perhaps by a different team in your organization, or even external services, such as invoking the search API of your favorite search engine provider. This is where the ESB SOAPClient
actions come into the picture, two implementations which take different approaches to invoking web services.
We will look at each of them more deeply in the following sections.
The first SOAP client action we will look at is based on the
soapUI
tool (http://www.soapui.org/), a popular Open Source testing tool which enables SOAP invocations using a template approach. The soapUI
library generates a template based on the WSDL definition of the required operation, which is then populated by injecting parameters from the associated ESB message.
Before we go into further detail of the mapping, let's pause to take a quick look at this in action.
A typical configuration of using org.jboss.soa.esb.actions.soap.SOAPClient
is shown:
<action name="soapui-client-action" class="org.jboss.soa.esb.actions.soap.SOAPClient"> <property name="wsdl" value="http://localhost:8080/Chapter8/ebws/Chapter8Sample/Chapter8Service?wsdl"/> <property name="SOAPAction" value="getBooks"/> </action>