Making an externally-hosted web service available internally

Create an outbound service. An outbound service provides access, through one or more outbound ports, to a web service that is hosted externally. An outbound service can be used by any of your internal systems that can access the service integration bus on which it is hosted. To make an externally-hosted service available through a bus, you first associate it with a service destination, then you configure one or more port destinations (one for each type of binding, for example SOAP over HTTP or SOAP over JMS) through which service requests and responses are passed to the external service. You get the port definitions from the WSDL, but you can choose which ones you want to create.

Before you begin

This topic assumes that you have created and installed a Service Data Objects (SDO) repository (used for storing and serving WSDL definitions) on every server that is to play a service integration bus web services role.

To create an outbound service, you must know the location of the externally-published WSDL file that describes the service. This WSDL file is either available at a web address or through a UDDI registry.

If the WSDL file for your outbound service is stored in a UDDI registry, you associate the outbound service with a UDDI reference to the registry. You select the UDDI reference from a drop-down list, so you must configure the UDDI reference before you configure a new outbound service that uses it.

Decide which method to use to configure these resources. You can create an outbound service by using the administrative console as described in this task, or by using the createSIBWSOutboundService command.
Note: If the bus needs to pass messages through an authenticating proxy server to retrieve WSDL documents, then you cannot use the administrative console for this task and you must create your new outbound service by using the wsadmin tool. For more information see the corresponding troubleshooting tip.

About this task

In the following figure, each message is passed from the outbound service to the target service through an outbound port. A separate outbound port is created for each available binding. JAX-RPC handlers and WS-Security settings can be applied at the ports.

Figure 1. Outbound service
This figure is described in the surrounding text.

Requests and responses to an outbound service are sent across any transport binding (for example SOAP over HTTP, SOAP over JMS, EJB binding) that is available to both the target service and the service integration bus. Each available binding type is represented by an outbound port configured at a port destination. For more information, see Outbound ports and port destinations.

You can control and monitor access to the target service in the following ways:
  • You can associate JAX-RPC handler lists with ports, so that the handlers can monitor activity at the port, and take appropriate action depending upon the sender and content of each message that passes through the port.
  • You can set the level of security to be applied to messages (the WS-Security binding). The security level can be set independently for request and response messages.

Procedure

  1. Start the administrative console.
  2. In the navigation pane, click Service integration -> Buses -> bus_name -> [Services] Outbound Services.
  3. Click New.
    The New outbound service wizard is displayed.
  4. Use the wizard to create the new outbound service configuration by completing the following steps. For more information about the properties that you set with the wizard, see Outbound services settings and Outbound ports settings.
    1. Locate the target service WSDL.
    2. Select the service from the WSDL.
      Note:
      • This option is needed in case there is more than one service in the WSDL. The field is filled in for you by default. If there is only one service in the WSDL, accept the default.
      • There needs to be at least one port defined in the service you select.
    3. Select the ports that are to be enabled for this service.
      Note: Select at least one port.
    4. Name the outbound service, the service destination and all of the port destinations.
      Note:
      • Default names are generated, but you can rename them. The default names are unique within the current service integration bus. Any replacement names that you choose must be similarly unique. If you enter a name that is not unique, an error message is displayed.
      • If you have created a port selection mediation and deployed it to the service integration bus, then it is available for selection in the list of mediations. If you do not want to use a port selection mediation with this outbound service, select none from the drop-down list. This list contains all mediations, including port selection mediations, that are currently deployed to this service integration bus.
      • The list of available ports is a subset of the ports that are described in the WSDL file. You chose this subset in the previous step. If you selected more than one port in the previous step, you should also set the default port to be used unless otherwise specified by a port selection mediation.
    5. Assign each port destination and (optionally) the port selection mediation to a bus member.
      Note:
      • Bus members are application servers or clusters that are added to this bus.
      • The option to assign a port selection mediation to a bus member is only displayed if you selected a mediation in the previous step.
  5. Click Finish.

Results

If the processing completes successfully, the list of outbound services for this service integration bus is updated to include the new outbound service. Otherwise, an error message is displayed.

What to do next

Because the service is hosted externally, you might also need to enable proxy server authentication for each port to get permission to access the Internet.

If you want to secure your new outbound service, or apply any JAX-RPC handler lists to the ports, or enable proxy server authentication for any of the ports, use the administrative console to modify your outbound service configuration.