+

Search Tips   |   Advanced Search

Example: Configure IBM HTTP server as an intermediary node for web services transactions

Use an HTTP server intermediary nodes to enable the exchange of Web Services Atomic Transaction and Web Services Business Activity protocol messages across firewalls and outside the WebSphere Application Server domain. For IBM HTTP server, you achieve this behavior by modifying the plugin-cfg.xml file of the IBM HTTP server node.


Routing requests to WAS

Use the IBM HTTP server as a single intermediary node, or we can combine it with a Proxy Server for IBM WAS. In both cases, update plugin-cfg.xml to indicate that the HTTP server should route requests that are targeted at WAS, those of the form...

...to WAS, rather than processing them itself.

To update the plugin-cfg.xml file, add a URI element with a name of _IBMSYSAPP, as shown in the following example. Add this URI to all UriGroup elements in plugin-cfg.xml.

<UriGroup Name="default_host_server1_99T73NKNode01_Cluster_URIs">
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hello" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hitcount" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/SamplesGallery/*" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/WSsamples/*" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/PlantsByWebSphere/*" /> 
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/PlantsByWebSphere/docs/*" />
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/_IBMSYSAPP/*" />
</UriGroup>


Configure virtual host mapping

If we are using IBM HTTP as the only intermediary node, in other words we are not also using Proxy Server for IBM WAS, configure virtual hosts to represent each WAS that the HTTP node routes requests to. Update plugin-cfg.xml by adding VirtualHostGroup, VirtualHost and Route elements.

The following example shows part of plugin-cfg.xml for a configuration in which the IBM HTTP server routes requests to one of two servers, server1 and server2, in WAS.

The plugin-cfg.xml file contains two virtual host aliases, with names...

...defined using VirtualHost and VirtualHostGroup elements. The Route elements define the association between the virtual hosts and the ServerCluster elements. When a request is made, IBM HTTP server finds the best matching route to dispatch the request to. A request made to virtual host name1.acme.com, with a URI that matches a pattern in the default_URIs URI group, is sent to the server1_Cluster server cluster. This server cluster contains only one server, server1, so requests targeted at virtual host name1.acme.com are sent to server1, and similarly, requests targeted at virtual host name2.acme.com are sent to server2.