Oracle® Fusion Middleware Developer's Guide for Oracle Service Bus 11g Release 1 (11.1.1.5.0) E15866-03 |
|
![]() Previous |
![]() Next |
The SB transport allows Oracle products to synchronously invoke an Oracle Service Bus proxy service using RMI. The inbound transport allows clients to access SB proxy services using RMI. The outbound transport allows the invocation of SB proxy services using RMI. By default, accessing all services using T3 protocol, IIOP, HTTP, T3s, IIOPS, or HTTPS depends on the configuration of the target server. For more information, see "Configure Default Network Connections" in the Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.
The SB transport supports:
Propagation of the transaction context. The transaction originated in the client Oracle Service Bus servers can optionally be propagated to the SB proxy service.
Propagation of the security context. By default, the security context associated with the SB client thread is used to invoke the SB proxy services. This may require enabling domain trust between domains. See "Important Information Regarding Cross-Domain Security Support" in Oracle Fusion Middleware Securing Oracle WebLogic Server.
Invocation of SB proxy services, with custom identities, by the outbound endpoint using a service account.
Specification of time out value for non-transactional invocations. The client request returns when Oracle Service Bus does not respond to the request within the specified interval.
Association of a dispatch-policy for both request and response connections. For more information, see "Using Work Managers to Optimize Scheduled Work" in Oracle Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.
Optimization of RMI call and call-by-reference when routing to a SB business service without a JNDI provider.
The following service types:
WSDL service
Any SOAP service
Any XML service
The following messaging patterns:
Request (one-way) and request-response for the inbound transport.
For an Oracle Service Bus client the by default the messaging pattern is inherited from the pipeline of the SB outbound transport.
For a non-Oracle Service Bus client by default messaging pattern is request-response.
Request and request-response for the outbound transport Environment Values. For more information on the environment values the SB supports, see Section 28.1, "Environmental Values."
The following default values for the Quality of Service (QoS):
Exactly-Once for non-Oracle Service Bus clients
Best-Effort for Oracle Service Bus clients
You can also set the QoS of a service using routing options in the message flow. For more information, see "Quality of Service" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.
This document provides information about:
Section 28.2, "Configuring Proxy Services to Use the SB Transport"
Section 28.3, "Configuring Business Services to Use the SB Transport"
Table 28-1 describes the environment values the SB Transport supports.
Table 28-1 Environment Values
Environment Value | Use this value to … |
---|---|
Timeout (category: operational) |
Override the time out value set for the business service. |
Service account (category: security) |
Update the user credentials associated with the business service. |
Use SSL (category: security) |
Enable or disable the option of exposing a service using a secure protocol for a proxy service. |
A client Oracle Service Bus server connects with the Oracle Service Bus server using the JNDI context and the proxy service URI. The security context of the client is used to invoke the proxy service. The default QoS is Exactly-once
. Optionally, the client can change the QoS, set a request time out value and specify a desired messaging pattern. The message is received by the inbound SB transport and processed through the message flow.
To create a proxy service from the Oracle Service Bus Administration Console:
Enter the general configuration details for the service in the General Configuration page. For more information, see Section 4.3.1, "Proxy Service General Configuration Page."
In the Transport Configuration page, select the transport protocol as sb
. Specify the endpoint URI as <proxy service name>
. This proxy service name is the unique identifier associated with the proxy service that is to be invoked by the client. For more information, see Section 4.3.6, "Proxy Service Transport Configuration Page."
In the SB Transport Configuration page, specify the values as described in Table 28-2.
Table 28-2 Fields for Configuring SB Transport for Proxy Services
Field | Description |
---|---|
Dispatch Policy |
You can use the default dispatch policy or configure a work manager for the inbound request. Select the instance of Oracle WebLogic Server Work Manager that you want to use for the dispatch policy for this endpoint. The default Work Manager is used if no other Work Manager exists. For information about Work Managers, see:
|
Use SSL |
To expose the service through a secure protocol, choose the Use SSL option. Although this implies that the client should use the SSL protocol to access the SB proxy service, this does not prevent the client from accessing the service through unsecure protocols. In addition, the endpoint URI associated with the service would be sbs instead of sb:
Note: A proxy service is not bound to any particular protocol. It is the responsibility of the WLS administrator to enable SSL, IIOP, or HTTP tunneling whenever it is necessary. This flag only affects the URI scheme of the service when it is exported or the JNDI provider selection for the business service URI when it is imported from UDDI. It does not prevent a client from accessing the service using a non-secured protocol. |
For more information, see Section 2.3, "Working with Proxy Services."
The SB business service can send messages only to other SB proxy services. A JNDI provider, which is specified in the endpoint URI of the business service, performs a JNDI lookup on the remote Oracle Service Bus server. The client user credentials or the user credentials defined in the service account associated with the business service are used to invoke the proxy service. Optionally, a time out value and a custom dispatch policy can be associated with the business service. The QoS of the service can also be set by using the routing options.
To create a business service from Oracle Service Bus Administration Console:
Enter the general configuration details for the service in the General Configuration page. For more information, see Section 4.2.1, "Business Service General Configuration Page."
In the Transport Configuration page, select the transport protocol as sb
and specify the endpoint URI in the following format:
sb://<jndi_provider_name>/<service_name>
where,
<jndi_provider_name>
is the name of the JNDI provider, which points to the corresponding Oracle Service Bus JNDI provider. Optional. When omitted, the default context is used. This implies that the service and the Oracle Service Bus server are located on the same machine. When the call is co-located, serialization is skipped during service invocation. For more information, see Section 28.3.1, "JNDI Provider."
<service name>
is a target service and corresponds to the remote proxy service URI.
For more information see, Section 4.2.4, "Business Service Transport Configuration Page."
In the SB transport configuration page, specify the values as described in Table 28-3.
Table 28-3 Fields for Configuring SB Transport for Business Services
Field | Description |
---|---|
Dispatch Policy |
Select the instance of Oracle WebLogic Server Work Manager that you want to use for the dispatch policy for this endpoint. The default Work Manager is used if no other Work Manager exists. For information about Work Managers, see:
|
Time out |
The duration, in seconds, after which the business service times out and business service returns a run time error when a timeout occurs. The specified time out value is not applied when:
|
Service Account |
Specify the user credentials that should be used for invoking the remote proxy service. If no service account is specified, the user credentials of the inbound proxy service (the inbound client) of this business service are used for security context propagation. For more information, see Section 2.1.15, "Creating Service Account Resources." |
For more information, see Section 2.2, "Working with Business Services."
A JNDI provider points to the Oracle Service Bus server where the service is deployed to retrieve the RMI stubs corresponding to the SB proxy service. The JNDI provider has a high performance caching mechanism for remote connections and EJB stubs. T3, IIOP, HTTP, T3s, IIOPS, or HTTPS transport protocols can be used by JNDI provider. The preferred communication protocol from Oracle Service Bus to a WLS domain is T3 or T3S. If messages need to go through a fire wall, you can use HTTP tunneling by using an HTTP provider url in the context and by enabling HTTP tunneling on the WLS server.
Note: It is the responsibility of the administrator to ensure that the protocol supported by the JNDI provider is on the remote Oracle Service Bus server. |
When you create a business service, you can associate it with a JNDI provider. For more information, see Section 28.3, "Configuring Business Services to Use the SB Transport" and Section 2.1.8, "Creating and Editing JNDI Provider Resources."
You can configure the SB transport business services to handle communications errors. You can configure business service URIs to be taken offline when communication errors occur. When you configure the operational settings for the business service, you can enable the business service endpoint URIs to be taken offline after the specified retry interval.
For more information, see Configuring Operational Settings for Business Services and Viewing Business Services Endpoint URIs Metrics in "Monitoring" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.
When a connection error occurs while invoking a SB proxy service, the SB transport provider generates the BEA-380002
error code.
A connection error can occur due to any of the following reasons:
The target proxy service does not exist
The JNDI provider settings are incorrect
Any remote or naming exception occurs during RMI invocation
Note: Naming Exception of typejavax.naming.NamingSecurityException typically occurs when the identity used during the invocation is not recognized by the target server. When this occurs, the request returns a generic runtime error, which is not treated as a connection error. |
SOAP faults returned by SB Proxies are treated as application errors.
You can import and publish services to the UDDI registry. For more information, see "UDDI" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.
When you publish a proxy service to a UDDI register, the URI associated with the published service has the following format:
sb://host:port/service_name
where, host:port refers to the host name and listening port of the Oracle Service Bus server hosting the proxy service that is being published.
If the Use SSL
option is enabled for the proxy service that is being published, the URI associated with the published service has the following format:
sbs://host:port/service_name
where, host:port refers to the host name and the SSL listening port of the Oracle Service Bus server hosting the proxy service.
If the proxy service that is being published is running on a cluster, host:port
is the Cluster Address
setting in the Cluster section of the config.xml
file. This value can either be a single host name and port number that is used to connect to any WLS in the cluster or it can be a comma-separated list of the host name and listener ports of the Managed Servers in the Oracle Service Bus cluster. For more information, see "WebLogic JNDI" in Oracle Fusion Middleware Programming JNDI for Oracle WebLogic Server.
For more information, see "Publishing Proxy Services to a UDDI Registry" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.
When you import a service from the UDDI registry, the SB transport provider matches the sbscheme and host:port information from the service URI property with a JNDI provider registered on the Oracle Service Bus server using the appropriate protocol based on sbscheme. Sbscheme is the URI scheme of the SB transport-based service and can be either sb or sbs.
If sbscheme is sb, the transport provider looks for the JNDI provider using T3, T3S, IIOP, IIOPS, HTTP, or HTTPS protocol (in this order). If sbscheme is sbs, the transport provider looks for the JNDI provider using T3S protocol, IIOPS, then HTTPS (in this order). The JNDI provider that matches the service URI property is used to generate the endpoint URI of the business service that is imported to Oracle Service Bus.
If there is no matching JNDI provider, the import fails unless the imported URI is a local URI and the scheme is not sb, the default context is used. This implies that there is no JNDI provider specified for the service and it is considered co-located with the server.
For example, if the service URI property value is:
sbs://remote_oracle_service_bus_host:7002/myservice
the generated URI of the business service imported to Oracle Service Bus would be:
sb://my_jndi_provider/myservice
where, my_jndi_provider
is a JNDI provider resource registered on the Oracle Service Bus server with a t3s://remote_oracle_service_bus_host:7002
URL.
For more information, see "Importing Business Services From a UDDI Registry" in Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.