Making an internally-hosted service available as a web service
Create an inbound service. An inbound service is a Web interface to a service provided internally (that is, a service provided by our own organization and hosted in a location that is directly available through a service integration bus destination). To configure a locally-hosted service as an inbound service, you associate it with a service destination, and with one or more endpoint listeners through which service requests and responses are passed to the service. We can also choose to have the local service made available through one or more UDDI registries.
This topic assumes that:
- You have created and installed a Service Data Objects (SDO) repository (used for storing and serving WSDL definitions) on every stand-alone server or cluster that is to play a service integration bus-enabled web services role.
- You have created a new endpoint listener configuration for each endpoint listener to use to receive inbound service requests.
- You already have an internally-hosted service to configure as an inbound service, and we have made the service available at a service integration bus destination.
- You have created references to any UDDI registries in which to register this service.
We must also create a template WSDL file that describes the service, and make the WSDL available at a URL or through a UDDI registry. For information on how to create a WSDL file, see Develop a WSDL file for JAX-RPC applications.
We can create an inbound service using the console as described in this task, or using the createSIBWSInboundService command.
If the bus needs to pass messages through an authenticating proxy server to retrieve WSDL documents, then we cannot use the console for this task and create the new inbound service by . For more information see the corresponding troubleshooting tip.
In the following figure, a client request is received by an endpoint listener, then passed through an inbound port to an inbound service destination. JAX-RPC handlers and WS-Security bindings can be applied at the ports.
Figure 1. Inbound service
Web service requests and responses to an inbound service can be sent across any binding (for example SOAP over HTTP or SOAP over JMS) that is available to the bus. Each available binding type is represented by an inbound port, and each inbound port is associated with a binding-specific endpoint listener.
We can control and monitor access to the inbound services in the following ways:
- We can control which groups of users can access a particular inbound web service by making the service available only through specific endpoint listeners.
- We 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.
- We can set the level of security to be applied to messages (the WS-Security configuration and bindings). The security level can be set independently for request and response messages.
- Start the console.
- In the navigation pane, click Service integration -> Buses -> bus_name -> [Services] Inbound Services. The inbound services collection form is displayed.
- Click New. The New inbound service wizard is displayed.
- Use the wizard to create the new inbound service configuration by completing the following steps. For more information about the properties set with the wizard, see Inbound services settings.
- Select the service destination and template WSDL location.
The template WSDL is the service-specific WSDL file that we have created to describe this inbound service.
- Select the service from the template WSDL.
- This option is needed in case there is more than one service in the template WSDL. The field is filled in for you by default. If there is only one service in the WSDL, accept the default.
- Specify the name of the inbound service and select the endpoint listeners.
- You need not supply a name for the inbound service. If we choose not to supply a name, a default name is created. The default name is derived from the service destination name, with characters that are not valid for names filtered out.
- An inbound port is automatically created for each endpoint listener selected. Each inbound port is created without a template port, JAX-RPC handler list or security settings and is given a default name that relates to the endpoint listener selected. For an overview of the relationship between endpoint listeners and inbound ports, see Endpoint listeners and inbound ports: Entry points to the service integration bus.
- Define any UDDI publication properties.
We can use the wizard to specify the UDDI publication properties used to publish this inbound service to an initial UDDI registry. After creating an inbound service through the wizard, we can use the modify an existing inbound service configuration option to publish the service to more UDDI registries. For information about the UDDI publication properties, see UDDI Publication settings and UDDI registries: Web service directories that can be referenced by bus-enabled web services.
- Click Finish.
Results
If the processing completes successfully, the list of inbound services for this service integration bus is updated to include the new inbound service. Otherwise, an error message is displayed.
What to do next
To secure the new inbound service, or apply any JAX-RPC handler lists to the ports for the service, or publish the service to more UDDI registries, use the console to modify the inbound service configuration.
Subtopics
- Modify an existing inbound service configuration
Modify the configuration details for an existing inbound service. For example: secure the service; apply JAX-RPC handler lists to the ports for the service; publish the service to more than one UDDI registry.
- Delete inbound services configurations
Use this task to delete inbound services configurations using the console.
createSIBWSInboundService command refreshSIBWSInboundServiceWSDL command publishSIBWSInboundService command unpublishSIBWSInboundService command
Related information:
Making an externally-hosted web service available internally Work with the web services gateway Inbound services [Settings] Inbound Ports [Settings]