This section describes all the views, dialogs, wizards, and other user interface objects in the Oracle Service Bus plug-ins.
The following pages are provided for managing alerts:
An alert destination is a destination address for alert notifications in Oracle Service Bus. Use this page to configure an alert destination resource.
Table 4-1 Alert Destination Editor Options
Option | Description |
---|---|
Description |
Enter a description for this alert destination. |
SNMP Trap |
If you specify SNMP Trap, alerts are sent as SNMP traps, and can be processed by any third-party enterprise monitoring systems (ESM). |
Reporting |
If you specify Reporting, alerts are sent to the Oracle Service Bus Reporting module and can be captured using a custom reporting provider that can developed using the reporting APIs provider by Oracle Service Bus. This allows third-parties to receive and process alerts in custom Java code. |
Alert Logging |
If you select Yes, alerts sent to this alert destination are logged to the alert log. |
Continue in the Edit Alert Destination page. Click Add to add e-mail and JMS recipients to an alert destination. See:
Use this page to configure the destination target for an alert sent via e-mail (that is, using the e-mail transport).
Table 4-2 E-mail Recipient Options
Option | Description |
---|---|
Mail Recipients |
You can specify multiple e-mail recipients by entering the user names and hostnames in a comma-separated list. For example, [,username_1@hostname_1]...[,username_n@hostname_n] Only the first mail recipient needs to be prefixed with the text |
SMTP Server |
Select the name of the SMTP server for the outgoing e-mail. This field is not required if Mail Session is selected in the next field. These fields are mutually exclusive; it is an error to configure both. |
Mail Session |
Select an available mail session. This field is not required if an SMTP Server is selected in the previous field. These fields are mutually exclusive; it is an error to configure both. |
From Name |
Provide a sender's name for the alert notification. This field is optional. |
From Address |
Provide a valid e-mail address. This field is required if a value for the From Name field is specified. |
Reply To Name |
Provide a name to which a reply may be addressed. This field is optional. |
Reply To Address |
Provide an e-mail address to which a reply may be sent. This field is required if a value for the Reply To Name field is specified. |
Connection Timeout |
Enter the number of seconds a connection must wait for a response from the server before timing out. The default value is |
Request Encoding |
Enter a character set encoding value. The default encoding value is |
Use this page to configure the destination target for an alert sent via JMS (that is, using the JMS transport).
Table 4-3 JMS Destination Options
Option | Description |
---|---|
Destination URI |
Enter a JMS destination URI in the format: jms://host:port/connection_factory/jndi_destination |
Destination Type |
Select Queue or Topic. |
Message Type |
Select Bytes or Text. |
Request Encoding |
Enter a character set encoding value. The default encoding value is |
You configure business services in the business service editor after you create the business service. You can view and modify those settings in the Business Service editor: The business service configuration pages are:
Section 4.2.1, "Business Service General Configuration Page"
Section 4.2.2, "Business Service Message Type Configuration Page"
Section 4.2.3, "Business Service SOAP Binding Configuration Page"
Section 4.2.4, "Business Service Transport Configuration Page"
Section 4.2.5, "Business Service Message Handling Configuration Page"
Section 4.2.6, "Business Service - Service Policy Configuration Page"
Section 4.2.7, "Business Service Security Configuration Page"
Use the Business Service General Configuration page to specify general configuration settings for a business service.
The following table describes the options in the editor:
Table 4-4 Business Service Editor Options
Option | Description |
---|---|
Description |
Enter or modify a description for this service. |
Service Type (editor only) |
This option shows the service type of the business service. You can change only some of the properties of some of the service types:
|
Use the Business Service Message Type Configuration page to configure message types for a business service whose type is Messaging Service.
The binding definition for messaging services consists of configuring the content-types of the messages that are exchanged. The content-type for the response does not need to be the same as for the request; therefore, the response is configured separately (for example, the service could accept an MFL message and return an XML acknowledgment receipt).
Note:
E-mail, File, FTP, or SFTP transport business services whose type is Messaging Service support one-way messaging only; the Response Message Type should be None. If you select an option other than None, the file, ftp, or sftp protocol will not be available on the Transport Configuration page.Table 4-5 Message Type Business Service Options
Option | Description |
---|---|
Request Message Type |
Select a message type for the request message:
|
Response Message Type |
Select a message type for the response message:
|
Use Business Service SOAP Binding Configuration page to configure the SOAP Binding for a business service based on a WSDL.
Select or deselect Enforce WS-I Compliance to specify whether or not the service is to conform to the Basic Profile defined by the Web Services Interoperability Organization. This option is available for or SOAP 1.1 services only
When a service is marked WS-I compliant, checks are performed against the messages sent to and from that service.
Use the Business Service Transport Configuration page to select, review, or change the service's transport protocol and to set, review, or change general transport configuration settings.
Outbound transport-level security applies to the connections between Oracle Service Bus proxy services and business services. For more information about transport-level security, see "Configuring Transport-Level Security" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBDV1557
.
Table 4-6 Business Service Transport Configuration Options
Option | Description |
---|---|
Protocol |
Select a transport protocol from the list. The protocols available differ, depending on the service type:
|
Load Balancing Algorithm |
Select one of these load-balancing algorithms:
|
Endpoint URI |
Enter an endpoint URL in the format based on the transport protocol you selected in the Protocol field. Following are descriptions of the URI formats for each transport. Optional URI elements are shown in brackets []. For more information on transport URIs, see the respective transport chapters in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus.
|
Endpoint URI (continued) |
|
Retry count |
In case of delivery failure when sending outbound requests, specify the number of times to retry individual URL endpoints; in other words, the number of failover attempts. For example, a business service has one configured URI (U1) and the number of retries is set to 3. If U1 fails on the first attempt, the system retries the U1 endpoint 3 more times. If a business service has 2 configured URIs (U1 and U2) and a retry count of 3, if the first attempt (for example, to U1) fails, the system tries (fails over to) the next URI (U2). If that also fails, the system makes two more attempts, once to U1 and once to U2. |
Retry Iteration Interval |
Specify the number of seconds the system pauses before iterating over all the endpoint URIs in the list again. For example, a business service has two configured URIs (U1 and U2) and a retry count of 2 with a retry iteration interval of 5 seconds. If the first attempt (to U1) fails, the system tries U2 right away. But if U2 also fails, the system waits for 5 seconds and retries U1 once more. |
Retry Application Errors |
Select Yes or No. In case of delivery failure when sending outbound requests, specify whether or not to retry endpoint URIs based on application errors (for example, a SOAP fault). |
Use the Business Service Message Handling Configuration page to specify how Oracle Service Bus is to encode outbound messages sent by business services and whether Oracle Service Bus should stream attachments in outbound response messages instead of buffering the attachment contents in memory.
Using this page, you can enable the business service to encode outbound messages in MTOM/XOP format. SOAP Message Transmission Optimization Mechanism (MTOM) is a method of sending binary data to and from Web services. MTOM uses XML-binary Optimized Packaging (XOP) to transfer the binary data.
Using this page, you can also enable the business service to store attachments in outbound response messages to a disk file and then process the data in a streaming fashion without buffering the attachment contents in memory. This enables the business service to process large attachments robustly and efficiently.
Table 4-7 Business Service Message Handling Options
Option | Description |
---|---|
XOP/MTOM Support |
Oracle Service Bus supports XOP/MTOM using the following transports:
Select the Enabled check box to enable the business service to encode outbound messages in MTOM/XOP format. Note that this option is disabled for imported business services that are based on previous release configurations. If XOP/MTOM Support is enabled, select how to handle binary data in the $header and $body message context variables from among the following options:
Note that if XOP/MTOM Support is enabled for a business service, it is not required that every outbound message be in the MTOM format. Instead, this setting specifies that the business service is capable of handling an MTOM payload. Since Oracle Service Bus does not support a combination of MTOM and SwA, the system issues a runtime error when Oracle Service Bus attempts to dispatch an outbound request to a business service and the business service is both MTOM/XOP-enabled and the $attachments message context variable is not null. |
Attachments |
Oracle Service Bus supports streaming MIME attachments using the HTTP/S transport. Select the Page Attachments to Disk check box to enable the business service to stream attachments in outbound response messages. Note that if you enable XOP/MTOM Support, the Attachments option is only available if you choose the Include Binary Data by Reference option under XOP/MTOM Support. Note also that payloads that contain attachments must conform to RFC 822. Specifically, lines containing Internet headers need to be terminated with CRLF (carriage return line feed). |
Result Caching |
If you invoke business services whose results seldom change, result caching improves business service performance by returning cached results to the client instead of invoking an external service directly. To use result caching for business services, you must first enable it globally, as described in "Enabling Result Caching Globally" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at Configure result caching in the Advanced Settings section using the following guidelines:
|
Result Caching continued |
For a more detailed description of result caching, see “Improving Performance by Caching Business Service Results” in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at |
Use the Business Service - Service Policy Configuration page to configure service policy settings for a business service.
Table 4-8 Business Service Service Policy Configuration Options
Option | Description |
---|---|
OWSM Policy Bindings |
To add Oracle Web Services Manager policies to services in the IDE, you must be connected to a running server that has Oracle Web Services Manager enabled. Note: When working with multiple servers in Eclipse, Eclipse chooses the first valid Oracle Service Bus server in the list of servers for retrieval of Oracle Web Services Manager policies. Use category filtering to help you find the policy you want. For business services, only client-side policies are displayed. After adding policies, you can provide overrides on the Security page. For information, see "Securing Oracle Service Bus with Oracle Web Services Manager" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at |
WSDL-Based Policy |
Select this option if the service policy is associated with the WSDL upon which the service is based. |
Custom Policy Bindings |
Select this option to add service-level policies, operation-level policies (in which case the policy applies to both the request and response messages), request policies, and response policies directly. |
Use the Security configuration page to provide overrides to security policies used in the business service.
Table 4-9 Business Service Security Configuration Options
Option | Description |
---|---|
Service Account |
Click Browse and select a service account from the list displayed. If no service account is specified, an anonymous subject is used. Note: This option is not available for services that use Oracle Web Services Manager policies, because user credentials are provided by override keys. For more information, see Section 4.19, "Service Accounts". |
Policy Overrides |
For OWSM policy bindings, provide any desired overrides that are allowed. For more information, see Table 4-8 and "Securing Oracle Service Bus with Oracle Web Services Manager" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at |
You configure new proxy services in the proxy service editor after you create a new proxy service. You can view and modify those settings in the Proxy Service editor: The proxy service configuration pages are:
Section 4.3.2, "Proxy Service Message Type Configuration Page"
Section 4.3.3, "Proxy Service Operation Selection Configuration Page"
Section 4.3.4, "Proxy Service Message Handling Configuration Page"
Section 4.3.5, "Proxy Service SOAP Binding Configuration Page"
Section 4.3.7, "Proxy Service - Service Policy Configuration Page"
Use the Proxy Service General Configuration page to set or modify general configuration properties for a proxy service.
The following table describes the options in the editor:
Table 4-10 Proxy Service Editor Options
Option | Description |
---|---|
Description |
Enter a description for this proxy service. |
Service Type (editor only) |
This option shows the service type of the proxy service. You can change only some of the properties of some of the service types:
|
Use Proxy Service Message Type Configuration page to configure message types for a proxy service whose type is Messaging Service.
The binding definition for messaging services consists of configuring the content-types of the messages that are exchanged. The content-type for the response does not have to be the same as for the request; therefore, the response is configured separately (for example, the service could accept an MFL message and return an XML acknowledgment receipt).
Note:
E-mail, File, FTP, or SFTP transport proxy services whose type is Messaging Service support one-way messaging only; the Response Message Type should be None. If you select an option other than None, the E-mail, File, FTP, or SFTP protocols will not be available on the Transport Configuration page.Table 4-11 Proxy Service Message Type Options
Option | Description |
---|---|
Request Message Type |
Select a message type for the request message:
|
Response Message Type |
Select a message type for the response message:
|
Use Proxy Service Operation Selection Configuration page to enforce WS-I compliance (for SOAP 1.1 services only) and select the selection algorithm to use to determine the operation called by this proxy service. This option is only available for SOAP or XML services defined from a WSDL.
The WSDL specification defines a default algorithm to compute which operation is called based on the type of the SOAP message received. However, there are cases (for example, performance issues, signature/encryption issues, or the default algorithm is not applicable) when you may need to select the operation based on other means.
Oracle Service Bus provides additional algorithms. Each of them follows the same pattern and are based on the evaluation of an expression to get a value that is then used to lookup the corresponding operation in a static table.
Oracle Service Bus is generally very forgiving if an inbound message is either missing data such that the operation cannot be determined, or has data that does not correspond to a valid operation. Both of these conditions result in $operation
being empty. Rather than reject all such messages, Oracle Service Bus does not initialize the operation variable in the context but otherwise continues to process the message.
However, security requirements are enforced if the proxy service is WSDL-based and at least one of the following conditions is true:
The WSDL has a WS-Security policy and the proxy is an active intermediary.
The proxy has message-level custom authentication (either custom token or username/password).
If these conditions are met, then there is a runtime check to make sure the operation selection algorithm returns a valid operation name. If the operation selection returns null or an operation that is not in the WSDL, then the message is rejected and an error is raised.
Table 4-12 Proxy Service Operation Selection Options
Option | Description |
---|---|
Enforce WS-I Compliance |
Select or deselect this check box to specify whether or not the service is to conform to the Basic Profile defined by the Web Services Interoperability Organization. This option is available for or SOAP 1.1 services only When a service is marked WS-I compliant, checks are performed against the messages sent to and from that service. For proxies, checks are performed against request messages received by the proxy. For invoked services (i.e. services invoked by a proxy via service callout action or route node), checks are performed against the response messages received from those services. Note that it is the WS-I compliance property of the invoked service and not the proxy that determines whether or not checks are performed against messages received from the invoked service. If you specify WS-I compliance testing for an invoked service, the message flow generates a fault for response errors. |
Selection Algorithm |
Select one of the following and perform any required additional steps:
|
Header Name |
This option is available only when the Selection Algorithm option is set to Transport Header. Enter the transport header that extracts the value used as a key to select the operation being invoked. |
XPath Expression |
This option is available only when the Selection Algorithm option is set to SOAPHeader. Specify the XPath expression that extracts the value used as a key to select the operation being invoked. |
Operation Mapping |
This option is available only when the Selection Algorithm option is set to Transport Header, WS-Addressing, or SOAP Body Type. Specify the value for each operation in the Value field. The value is used as the key of the operation. |
Use the Proxy Service Message Handling Configuration page to specify different aspects of message handling, as described in Table 4-13.
Table 4-13 Proxy Service Message Handling Options
Option | Description |
---|---|
Transaction Required |
Select this option to ensure Oracle Service Bus executes the proxy service message flow in the context of a transaction. If a global transaction already exists, the transport provider propagates it in the request (even if you do not select this option). If no global transaction exists, the message flow run time starts a transaction. If the message flow run time starts a transaction, the transaction context begins before the service configuration is validated or run (for example, security checking or WS-I validation), and before message flow execution, ensuring that all processing and execution occurs in the transaction context. If the message flow run time starts a transaction, quality of service is exactly-once. However, if Service Callouts or Publish actions have the outbound quality of service parameter set to best-effort (the default), Oracle Service Bus executes those actions outside of the transaction context. To have Oracle Service Bus execute those actions in the same request transaction context, set quality of service on those actions to exactly-once. The service maintains its messaging pattern (synchronous, asynchronous, one-way) regardless of the setting on this option. For transaction timeouts, the global transaction timeout value configured in the Oracle WebLogic Server Console applies. Exceptions in Transactions Oracle Service Bus invokes the system error handler for failed transactions. You cannot catch failed transaction exceptions in a user-configured error handler. For synchronous patterns, a transaction exception is returned through the response. For asynchronous patterns, where the transaction is designed to be committed in the request, the exception is sent back on the request thread. Note that in asynchronous patterns, an error in the response that occurs after transaction committal in the request does not affect the transaction. |
Same Transaction for Response |
If you select this option, Oracle Service Bus propagates the transaction context from the request thread to the response thread. If you select this option, the message pattern becomes synchronous automatically, regardless of the initial message pattern setting (such as asynchronous or one-way). You would not use this option, for example, if the business service in the request required a transaction committal before sending the response, such as in a one-way pattern. For transaction timeouts, the global transaction timeout value configured in the Oracle WebLogic Server Console applies. |
Content Streaming |
Select this option to stream message content rather than store it in memory. Select the Enabled check box and choose the following:
For more information, see "Streaming body Content" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at |
XOP/MTOM Support |
SOAP Message Transmission Optimization Mechanism (MTOM) is a method of sending binary data to and from Web services. MTOM uses XML-binary Optimized Packaging (XOP) to transfer the binary data. Use this option to decode and parse inbound messages in MTOM/XOP format and to send responses using the MTOM/XOP format, when appropriate. Oracle Service Bus supports XOP/MTOM using the following transports:
Select the Enabled check box to enable the proxy service to decode and parse inbound messages in MTOM/XOP format and to send responses using the MTOM/XOP format, when appropriate. Note that this option is disabled for imported proxy services that are based on previous release configurations. If XOP/MTOM Support is enabled, select how to handle binary data in the $header and $body message context variables from among the following options:
Use Include Binary Data by Reference when you need direct access to binary data, for example to pass data to a Java callout or Message Format Language (MFL) transform. Use Include Binary Data by Value in the following cases:
Note that if XOP/MTOM Support is enabled for a proxy service, it is not required that every inbound message be in the MTOM format. Instead, this setting specifies that when an MTOM-formatted message arrives, the proxy service should handle it accordingly. Note also that when proxy services not enabled for XOP/MTOM Support receive an MTOM-formatted message, the service rejects the message and issues a runtime error. |
Attachments |
Use this option to have the proxy service store MIME attachment content to a disk file and then process the data in a streaming fashion without buffering the attachment contents in memory. This enables the proxy service to process large attachments robustly and efficiently. Oracle Service Bus supports streaming MIME attachments using the following transports:
Select the Page Attachments to Disk check box to enable the proxy service to stream MIME attachments. When enabled for HTTP proxy services, the option applies to proxy service inbound request messages. Note that if you select XOP/MTOM Support, the Attachments option is only available if you choose the Include Binary Data by Reference option under XOP/MTOM Support. Note also that payloads that contain attachments must conform to RFC 822. Specifically, lines containing Internet headers need to be terminated with CRLF (carriage return line feed). |
This page is displayed only if the service you are creating has operations.
Use the Proxy Service SOAP Binding Configuration page to enforce WS-I compliance (for SOAP 1.1 services only) and select the selection algorithm to use to determine the operation called by this proxy service. This option is only available for SOAP or XML services defined from a WSDL.
The WSDL specification defines a default algorithm to compute which operation is called based on the type of the SOAP message received. However, there are cases (for example, performance issues, signature/encryption issues, or the default algorithm is not applicable) when you may need to select the operation based on other means.
Oracle Service Bus provides additional algorithms. Each of them follows the same pattern and are based on the evaluation of an expression to get a value that is then used to lookup the corresponding operation in a static table.
Oracle Service Bus is generally very forgiving if an inbound message is either missing data such that the operation cannot be determined, or has data that does not correspond to a valid operation. Both of these conditions result in $operation
being empty. Rather than reject all such messages, Oracle Service Bus does not initialize the operation variable in the context but otherwise continues to process the message.
However, security requirements are enforced if the proxy service is WSDL-based and at least one of the following conditions is true:
The WSDL has a WS-Security policy and the proxy is an active intermediary.
The proxy has message-level custom authentication (either custom token or user name/password).
If these conditions are met, then there is a runtime check to make sure the operation selection algorithm returns a valid operation name. If the operation selection returns null or an operation that is not in the WSDL, then the message is rejected and an error is raised.
Table 4-14 Proxy Service SOAP Binding Options
Option | Description |
---|---|
Enforce WS-I Compliance |
For SOAP 1.1 services only: Select or deselect this check box if you want to specify whether or not the service is to conform to the Basic Profile defined by the Web Services Interoperability Organization. When a service is marked WS-I compliant, checks are performed against the messages sent to and from that service. For proxies, checks are performed against request messages received by the proxy. For invoked services (i.e. services invoked by a proxy via service callout action or route node), checks are performed against the response messages received from those services. Note that it is the WS-I compliance property of the invoked service and not the proxy that determines whether or not checks are performed against messages received from the invoked service. If you specify WS-I compliance testing for an invoked service, the message flow generates a fault for response errors. |
Use the Proxy Service Transport Configuration page to select a transport protocol for the proxy service and to set other general transport configuration settings.
Note:
Inbound transport-level security applies to the client applications and Oracle Service Bus proxy services. Outbound transport-level security applies to the connections between Oracle Service Bus proxy services and business services.Table 4-15 Proxy Service Transport Configuration Options
Option | Description |
---|---|
Protocol |
Select a transport protocol from the list. The protocols available differ, depending on the service type you are creating:
|
Endpoint URI |
Enter an endpoint URI in the format based on the transport protocol you selected in the Protocol field, above: The formats are:
|
Endpoint URI (continued) |
|
Get All Headers |
Select Yes to retrieve all the headers from the transport. Select No to retrieve a defined set of headers. If you select No, enter a set of headers in the Header field, then click Add. (This step does not apply to Local transport.) Note: Oracle Service Bus does not pass the HTTP Authorization header from the request to the pipeline because it opens a security vulnerability. You could inadvertently create a log action that writes the user name and unencrypted password to a log file. If your design pattern requires the HTTP Authorization header to be in the pipeline, do the following:
Oracle Service Bus will pass the Authorization header to the pipeline. |
Use Proxy Service - Service Policy Configuration page to configure service policies for a proxy service.
Table 4-16 Proxy Service Service Policy Options
Option | Description |
---|---|
OWSM Policy Bindings |
To add Oracle Web Services Manager policies to services in the IDE, you must be connected to a running server that has Oracle Web Services Manager enabled. Note: When working with multiple servers in Eclipse, Eclipse chooses the first valid Oracle Service Bus server in the list of servers for retrieval of Oracle Web Services Manager policies. Use category filtering to help you find the policy you want. For proxy services, only service policies are displayed. After adding policies, you can provide overrides on the Security page. For information, see "Securing Oracle Service Bus with Oracle Web Services Manager" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at |
WSDL-Based Policy |
Select this option if the service policy is associated with the WSDL upon which the service is based. |
Custom Policy Bindings |
Select this option to add service-level policies, operation-level policies (in which case the policy applies to both the request and response messages), request policies, and response policies directly. |
Use the Proxy Service Message Level Security Configuration page to configure security for proxy services.
For WLS 9.2 policies, message-level custom tokens and message-level user name and password are supported on proxy services of the following binding types:
WSDL-SOAP
WSDL-XML
Abstract SOAP
Abstract XML
Mixed - XML (in the request)
Mixed - MFL (in the request)
The configuration for both custom user name/password and custom token is similar. In both cases, you specify XPath expressions that enable Oracle Service Bus to locate the necessary information. The root of these XPath expressions is as follows:
Use soap-env:Envelope/soap-env:Header
if the service binding is AnySOAP or WSDL-SOAP.
Use soap-env:Body
if the service binding is not SOAP based.
All XPath expressions must be in a valid XPath 2.0 format. The XPath expressions must use the XPath "declare namespace" syntax to declare any namespaces used, as follows:
declare namespace ns='http://webservices.mycompany.com/MyExampleService';)
Table 4-17 Proxy Service Message-Level Security Options
Option | Description |
---|---|
Service Key Provider |
The name of a service key provider to be used by the service. You can enter the path (project/folder) and name of a service key provider, or click Browse to select one. A service key provider is only required in certain cases:
To add a Web service security-enabled proxy service, you must create the proxy service from a WSDL (port or binding) with WS-Policy attachments. |
Policy Overrides |
For OWSM policy bindings, provide any desired overrides that are allowed. For more information, see Table 4-16 and "Securing Oracle Service Bus with Oracle Web Services Manager" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at |
Custom Authentication Settings |
Select one of the following:
|
Custom User Name and Password - User Name XPath |
The user name, specified as an XPath expression. The XPath expression is evaluated against the message headers or payload, as appropriate, which allows Oracle Service Bus to obtain the user name and for custom authentication. |
Custom User Name and Password - User Password XPath |
The password, specified as an XPath expression. The XPath expression is evaluated against the message headers or payload, as appropriate, which allows Oracle Service Bus to obtain the password values for custom authentication. |
Custom Token - Token Type |
Enter the type for the custom token type. Only the active token types configured for an Oracle WebLogic Server Identity Assertion provider can be used. |
Custom Token - Token XPath |
An XPath expression that specifies a path to the custom token. Oracle Service Bus evaluates the Token XPath expression against the message headers or payload, as appropriate, to obtain the token for custom authentication. To create or edit an expression, click <XPath> (or the |
Custom User Name and Password - Context Properties or Custom Token - Context Properties |
Optionally, specify one or more context properties to pass additional context information to the Authentication (Custom User Name and Password) or Identity Assertion (Custom Token) security provider. Context Properties provide a way (the Enter the Property Name as a literal string, and the Value Selector as a valid XPath expression. (XPath expressions can also be literal strings.) The XPath expressions are evaluated against the same message-part that is used for the custom token or custom user name/password. That is, the Value Selector XPath expressions for SOAP-based proxy services evaluate against the header and against the payload for non-SOAP-based proxy services. The XPath expression is evaluated at runtime to produce the property's value. A ContextHandler is essentially a name/value list and, as such, it requires that a security provider know what names to look for. Therefore, the XPath expressions are evaluated only if a security provider asks for the value of one of these user-defined properties. Click Add Property to add this context property. You can add multiple context properties. |
The following are provided for working with Oracle Service Bus configurations and projects.
This view displays a hierarchical list of all your Oracle Service Bus configurations and the projects they contain. See also Section 4.4.2, "New Oracle Service Bus Configuration Project Wizard."
You can do the following in the Configurations view:
Edit the configuration:
Right click the configuration you want to edit.
Select Properties from the menu.
Modify information as needed in the Oracle Service Bus Configuration Page.
Create a new configuration:
Right-click anywhere in the view.
Select New Oracle Service Bus Configuration from the menu.
Enter information as needed in the Oracle Service Bus Configuration Page.
Move a project from one configuration to another by dragging it from the source configuration to the target configuration. You can also drag a project from the Project Explorer.
Delete a configuration project:
Right-click the configuration you want to delete.
Select Delete from the menu.
Use this wizard to create an Oracle Service Bus configuration project. For configuration options, see Section 4.4.3, "Oracle Service Bus Configuration Page."
An Oracle Service Bus configuration project is a grouping of Oracle Service Bus projects and resources destined for a server, a location for system resources (SMTP, UDDI, and such), and a container for validation; for example, a resource in a project associated with one Oracle Service Bus configuration cannot refer to a resource in a project associated to another Oracle Service Bus configuration.
Use this page to create a new Oracle Service Bus configuration project (in the New Oracle Service Bus Configuration Project wizard) or to configure an existing one (in the Properties for Oracle Service Bus Configuration editor).
The preserve, session, and customization file settings are used when publishing an Oracle Service Bus configuration to the server, and used as defaults when configuring the Export Wizard - Export to Server - Select Resources Page.
Table 4-18 Oracle Service Bus Configuration Options
Option | Description |
---|---|
Configuration name |
Enter a name for this Oracle Service Bus configuration or keep the default. |
Preserve environment variable values |
Select this check box when you are re-importing a resource but want to preserve environment variable values in the existing resource. |
Preserve security and policy settings |
Select this check box to preserve the security configuration (excluding access control policies) and the references to the WS-policies bound directly to the service (instead of bound to the WSDL). |
Preserve credentials (user name and password) |
Select this check box to preserve PKI credentials in service key providers, user name and passwords in service accounts, and user name and password credentials in SMTP servers, JNDI providers, and UDDI registries. |
Discard session if activation fails |
Select this check box to discard the session if the activation fails (for example, due to conflicts). |
Session Name |
The session name. |
Description |
The session description. |
Deployment customization file |
Specify a customization.xml file or click Browse, locate the file, then click Open. For information on customization, see "Creating Customization Files" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at |
Keystore file |
Specify a keystore.jks file or click Browse, locate the file, then click Open. The key store settings are used when configuring a service key provider. |
Password |
Enter the password that you use to secure access to the key store. |
Server |
The name of the server associated with this Oracle Service Bus configuration. This setting is automatically configured unless there is more than one server from which to choose. When multiple servers are associated with the same Oracle Service Bus configuration, use the list to select the server you want to associate with this Oracle Service Bus configuration. The server setting is only used for transport specific configuration, when the transport benefits from being connected to a server (for example, when configuring the dispatch policy setting in the HTTP transport). |
Use this page to create a new Oracle Service Bus project.
Table 4-19 New Oracle Service Bus Project Options
Option | Description |
---|---|
Project name |
Enter a unique name for the project. |
Oracle Service Bus Configuration |
Select an existing Oracle Service Bus configuration or click New to open the New Oracle Service Bus Configuration Project Wizard, where you can create a new configuration. |
You can define custom resources for use by Oracle Service Bus using the New Custom Resource wizard and the Custom Resource editor, as described in the following topics:
Use this wizard to create a new custom resource.
Use this editor to modify the configuration of a custom resource. The General page identifies the type of custom resource. The Custom page provides options for editing the configuration for that type of custom resource.
Use this page to select the type of custom resource to create. Select the type of custom resource to create from the list of available resource type.
Use this page to configure a custom MQ connection resource. For information on MQ connection resources and MQ transports, see the following:
"MQ Connections" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBAG909
"MQ Transport" in the Oracle Fusion Middleware Developer's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBDV1117
.
Table 4-20 MQ Resource Options
Option | Description |
---|---|
Connection Type |
Select one of the following modes for connecting to the MQ queue manager:
|
MQ Host Name |
For Enter the host name of the MQ queue manager. |
MQ Port Number |
For Enter the port number of the MQ queue manager listener. |
MQ Queue Manager Name |
Enter the name of the MQ queue manager to which to connect. |
Queue Manager CCSID |
For The coded character set identifier (CCSID) to be used when establishing a connection. The CCSID is used mainly for internationalization support. To learn more, see IBM's WebSphere MQ Fundamentals at |
MQ Queue Manager Channel Name |
For Enter the queue manager server connection channel name. |
SSL Required |
For Select the check box to use SSL for sending messages. Only server-side SSL is enabled when the 2-way SSL Required option is not selected. |
Cipher Suite |
This option is available only when the SSL Required check box is selected. Select the Cipher Suite algorithm to be used by SSL. The Cipher Suite algorithm is used to encrypt and decrypt message communications between the WebSphere MQ server and the WebSphere MQ client. Thus a Cipher Suite algorithm must be specified when using SSL to communicate with a WebSphere MQ server. |
2-way SSL Required |
This option is available only when the SSL Required check box is selected. Select the check box to enable both client-side and server-side SSL authentication. |
Reference to the Service Key Provider |
If you selected 2-way SSL Required, you must provide a reference to the service key provider for obtaining the appropriate key store and trust store information. Enter the path (project/folder) and name of a service key provider, or click Browse to select one from the Select Service Key Provider page. |
Reference to the Static Service Account |
For Required for user name and password authentication. Enter the path (project/folder) and name of a static service account, or click Browse to select service accounts from a browser. |
WebSphere MQ Version |
Select the WebSphere MQ version:
|
MQ Connection Pool Size |
Enter the size of the MQ connection pool. |
MQ Connection Timeout |
Enter the time interval in seconds after which unused connections are destroyed. The default is 1800 seconds. |
MQ Connection Max Wait |
Enter the Max Wait in seconds for the amount of time to wait for a connection to become available. If a connection is not made within that time interval, Oracle Service Bus throws an exception. The default is 3 seconds. |
The Export wizard contains the following pages:
Section 4.6.1, "Export Wizard - Oracle Service Bus Configuration JAR Export Page"
Section 4.6.2, "Export Wizard - Export to Server - Select Resources Page"
Section 4.6.3, "Export Wizard - Export to Server - Review Resources Page"
Use this page to export Oracle Service Bus resources to a configuration JAR file. For more information, see "Exporting Resources" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBAG1320
.
Table 4-21 Configuration JAR Export Options
Option | Description |
---|---|
Oracle Service Bus Configuration |
Select an existing Oracle Service Bus configuration and resources to export. |
Export Level |
Select whether to export projects or resources. Notes A System project cannot be exported at the project level. Exporting projects might cause resource deletion when you import the full project JAR file. |
Include Dependencies |
If you selected to export resources, select or clear this check box. Use the Include Dependencies option to export any other resources that this resource references |
Export Destination |
Enter the fully qualified name of a JAR file to export, or click Browse to select it. |
Use this page to select the projects or resources you want to export. Clear the check boxes next to any resources that you do not want to include in this export.
Table 4-22 Resource Export Options
Option | Description |
---|---|
Resource |
The name of the project and resource. |
Operation |
Create or update. The operation that will be performed on the resource. |
Include Dependencies |
Select this check box if you are exporting resources (not projects) and want to ensure that all the associated resources are exported. |
Preserve environment variable values |
Select this check box when you want to preserve (protect against overwriting) the environment variables values in the resource you are exporting. |
Preserve security and policy settings |
Select this check box to preserve the security configuration (excluding access control policies) and the references to the WS-policies bound directly to the service (instead of bound to the WSDL). |
Preserve credentials (user name and password) |
Select this check box to preserve PKI credentials in service key providers, user name and passwords in service accounts, and user name and password credentials in SMTP servers, JNDI providers, and UDDI registries. |
Activate session after publish |
Select this check box to create and activate a session in the Oracle Service Bus console. |
Discard session if activation fails |
Select this check box to discard the session if the activation fails (for example, due to conflicts). |
Description |
The session description. |
Customization File |
Specify a customization file or click Browse, locate the file, then click Open. For information on customization, see "Creating Customization Files" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at |
Use this page to select the projects or resources you want to export.
Table 4-23 Resource Export Options
Option | Description |
---|---|
Oracle Service Bus Configuration |
Select an existing Oracle Service Bus configuration and resources to export. |
Export Level |
Select whether to export projects or resources. |
Server |
From the list, select an Oracle Service Bus destination server. |
Session |
The session name. |
The Import wizard has the following pages:
Section 4.7.1, "Import Wizard - Config JAR Import - Load Resources Page"
Section 4.7.2, "Import Wizard - Config JAR Import - Review Resources Page"
Section 4.7.3, "Import Wizard - Config ZIP Import - Load Resources Page"
Section 4.7.4, "Import Wizard - Config ZIP Import - Review Resources Page"
Section 4.7.5, "Import Wizard - URL Import - Load Resources Page"
Section 4.7.6, "Import Wizard - URL Import - Review Resources Page"
Use this page to select a configuration JAR to import and an import destination. For more information, see "Importing Resources" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBAG1312
.
Table 4-24 Configuration JAR Import
Option | Description |
---|---|
Oracle Service Bus Configuration |
Select an existing Oracle Service Bus configuration or click New to open the New Oracle Service Bus Configuration Project Wizard, where you can create a new configuration. |
Jar |
Select a full project JAR file or a resource JAR file that has been previously exported from another Oracle Service Bus domain. |
Use this page to select the objects on which you want to operate (create, update, or delete). Resources are only scheduled for deletion when the JAR being imported is a full project JAR and there are project resources in the importing system that are not present in the imported JAR file. To prevent resources from being deleted, deselect them.
Table 4-25 Configuration JAR Import Options
Option | Description |
---|---|
Resources |
The name of the project and resource. |
Operation |
Expand the Project folder to display the operations (create, update, delete) that will be performed on the resources. To prevent resources from being deleted, deselect them. Resources are only scheduled for deletion when the JAR being imported is a full project JAR and there are project resources in the importing system that are not present in the imported JAR file. |
Include Dependencies |
Select this check box if you are importing a resource JAR file and want to ensure that all its associated resources are imported. |
Passphrase |
Enter the password that was used to encrypt the data. |
Preserve environment variable values |
Select this check box when you are re-importing a resource but want to preserve environment variable values in the existing resource. |
Preserve security and policy settings |
Select this check box to preserve the security configuration (excluding access control policies) and the references to the WS-Policies bound directly to the service (instead of bound to the WSDL). |
Preserve credentials (user name and password) |
Select this check box to preserve PKI credentials in service key providers, user name and passwords in service accounts, and user name and password credentials in SMTP servers, JNDI providers, and UDDI registries. |
Use this page to select a ZIP file with resources to import and an import destination.
Use this page to select the objects you want to import. Clear the check boxes next to any resources that you do not want to include in this import.
Use this page to import resources such as WSDLs or XML schemas that are available on the Web. You can import them, along with all their dependents, by specifying the URL of the root resource.
Option | Description |
---|---|
Oracle Service Bus Configuration |
Select an existing Oracle Service Bus configuration and an import destination (project or folder). |
URL |
Enter the URL where the file is located. To specify a local resource, you can use the |
Resource Name |
Enter a name for the resource. |
Resource Type |
Select the type of resource from the list. |
Use this page to select the objects you want to import. Clear the check boxes next to any resources that you do not want to include in this import.
Option | Description |
---|---|
Resource |
The name of the project and resource. |
Operation |
Create or update. The operation that will be performed on the resource. |
URL |
Enter the URL where the file is located. To specify a local resource, you can use the |
The following are provided for working with JNDI providers:
Use this editor to modify an existing JNDI provider configuration. For descriptions of the fields, see the Section 4.8.2, "New JNDI Provider Resource Wizard."
Use this page to configure a new JNDI provider resource.
Table 4-30 New JNDI Provider Resource Options
Option | Description |
---|---|
Description |
Enter a description for the JNDI provider. |
JNDI Cache |
Keep the default Enabled option or select Disabled. When enabled, the JNDI context and JNDI objects are cached locally which improves performance when doing an object lookup. Oracle recommends that you keep the JNDI cache enabled. |
Provider URL |
Enter the URL for the JNDI provider in the format: You can use any protocol, for example: http, https, t3, t3s, iiop, iiops |
JNDI Request Timeout |
The JNDI request timeout in milliseconds. The default of zero (0) means no timeout. |
User Name |
If access to the target JNDI provider requires a user name and password, enter a user name in the User Name field, and the associated password in the Password and Confirm Password fields. These fields are optional, and required only if the JNDI tree is secured. |
Password |
Enter the associated password. |
Confirm Password |
Enter the same password you entered for the Password field. |
Use this page to configure and edit a proxy server resource after you create a new proxy server.
Table 4-31 Proxy Server Configuration Options
Option | Description |
---|---|
Description |
Enter a description of the proxy server resource. |
User Name |
Enter the user name used for proxy authentication. |
Password |
Enter the password associated with the user name. |
Confirm Password |
Enter the same password you entered for the Password field. |
Host-Port Parameters |
The list of proxy server hosts. You can configure multiple proxy servers for each proxy server resource. This enables Oracle Service Bus to perform load balancing and offer fault tolerance features for the proxy server resource. The following options are available:
|
The Message Flow Design Palette lists all the nodes and actions you can use to construct a message flow for a proxy service. To insert a node or an action into a message flow, drag the item from the palette to the Message Flow Editor. When you drag an item to the palette, one or more target icons indicate that you can drop the dragged item in that position on the palette. When you drag the item onto a target, the target icon is highlighted to show that you can drop the item there.
You can also add nodes and actions to message flows by right-clicking an object in the Message Flow Editor and choosing a node or action from the Insert, Insert Into, or Insert After submenus. You can also add an error handler by selecting the Add Error Handler command. These submenus and commands are context sensitive. That is, they appear only when it is legal to add the item into the selected context in the message flow.
The Message Flow Design Palette is organized into the following categories:
Section 4.10.2, "Message Flow Route Actions - Communication Actions"
Section 4.10.3, "Message Flow Route Actions - Flow Control Actions"
Section 4.10.4, "Message Flow Stage Actions - Communication Actions"
Section 4.10.5, "Message Flow Stage Actions - Flow Control Actions"
Section 4.10.6, "Message Flow Stage Actions - Message Processing Actions"
Section 4.10.7, "Message Flow Stage Actions - Reporting Actions"
The following table describes the nodes you can add to a message flow:
Node | Description |
---|---|
Conditional branch |
A branch node allows processing to proceed down exactly one of several possible paths. For configuration properties, see Section 4.11.3, "Conditional Branch Node Properties." |
Operational branch |
An operational branch node determines what branch to follow based on specified operations. For configuration properties, see Section 4.11.17, "Operational Branch Node Properties." |
Pipeline pair |
A pipeline pair node consists of a request pipeline and a response pipeline. For configuration properties, see Section 4.11.18, "Pipeline Pair Node Properties." |
Route |
Route node actions define the handling of messages as they flow through the route node. For configuration properties, see Section 4.11.27, "Route Node Properties." |
Stage |
A stage node is a container of actions. For configuration properties, see Section 4.11.33, "Stage Node Properties." |
Error handler |
An error handler provides the logic for resending errors in the message flow. For configuration properties, see Section 4.11.7, "Error Handler Node Properties." |
The following table describes the communication actions you can add to a route in a message flow:
Table 4-33 Message Flow Route Node Communication Actions
Action | Description |
---|---|
Dynamic routing |
A dynamic routing action assigns a route for a message based on routing information available in an XQuery resource. For configuration properties, see Section 4.11.6, "Dynamic Routing Action Properties." |
Routing |
A routing action identifies a target service for the message and configures how the message is routed to that service: For configuration properties, see Section 4.11.28, "Routing Action Properties." |
Routing table |
A routing table action assigns a set of routes wrapped in a switch-style condition table. Different routes are selected based upon the results of a single XQuery expression. For configuration properties, see Section 4.11.30, "Routing Table Action Properties." |
The following table describes the flow control action you can add to a route in a message flow:
Table 4-34 Message Flow Route Node Flow Control Actions
Action | Description |
---|---|
If-then |
An if-then action performs an action or a set of actions conditionally, based on the Boolean result of an XQuery expression. For configuration properties, see Section 4.11.9, "If-Then Action Properties." |
The following table describes the communication actions you can add to a stage in a message flow:
Table 4-35 Message Flow Stage Node Communication Actions
Action | Description |
---|---|
Dynamic Publish |
A dynamic publish action publishes a message to a service identified by an XQuery expression For configuration properties, see Section 4.11.5, "Dynamic Publish Action Properties." |
Publish |
A publish action publishes a message to a statically specified service. For configuration properties, see Section 4.11.19, "Publish Action Properties." |
Publish Table |
A publish table action publishes a message to zero or more statically specified services. Switch-style condition logic is used to determine at run time which services will be used for the publish. For configuration properties, see Section 4.11.20, "Publish Table Action Properties." |
Routing Options |
A routing options action modifies any or all of the following properties in the outbound request: URI, Quality of Service, Mode, Retry parameters, Message Priority. For configuration properties, see Section 4.11.29, "Routing Options Action Properties." |
Service Callout |
A service callout action configures a synchronous (blocking) callout to an Oracle Service Bus-registered proxy or business service. For configuration properties, see Section 4.11.31, "Service Callout Action Properties." |
Transport Headers |
A transport header action sets the transport header values in messages For configuration properties, see Section 4.11.34, "Transport Headers Action Properties." |
The following table describes the flow control actions you can add to a stage in a message flow:
Table 4-36 Message Flow Stage Node Flow Control Actions
Action | Description |
---|---|
For-Each |
A for-each action iterates over a sequence of values and executes a block of actions For configuration properties, see Section 4.11.8, "For-Each Action Properties." |
If-Then |
An if-then action performs an action or set of actions conditionally, based on the Boolean result of an XQuery expression. For configuration properties, see Section 4.11.9.1, "If Action and Else-If Action Properties." |
Raise error |
A raise-error action raises an exception with a specified error code (a string) and description. For configuration properties, see Section 4.11.21, "Raise Error Action Properties." |
Reply |
A reply action specifies that an immediate reply be sent to the invoker. For configuration properties, see Section 4.11.24, "Reply Action Properties." |
Skip |
A skip action specifies that at run time, the execution of the current stage is skipped and the processing proceeds to the next stage in the message flow. For configuration properties, see Section 4.11.32, "Skip Action Properties." |
Resume |
A resume action resumes message flow after an error is handled by an error handler. For configuration properties, see Section 4.11.26, "Resume Action Properties." |
The following table describes the message processing actions you can add to a stage in a message flow:
Table 4-37 Message Flow Stage Node Message Processing Actions
Action | Description |
---|---|
Assign |
An assign action assigns the result of an XQuery expression to a context variable. For configuration properties, see Section 4.11.2, "Assign Action Properties." |
Delete |
A delete action deletes a context variable or a set of nodes specified by an XPath expression. For configuration properties, see Section 4.11.4, "Delete Action Properties." |
Insert |
An insert action inserts the result of an XQuery expression at an identified place relative to nodes selected by an XPath expression. For configuration properties, see Section 4.11.10, "Insert Action Properties." |
Java callout |
A Java callout action invokes a Java method from the pipeline. For configuration properties, see Section 4.11.11, "Java Callout Action Properties." |
MFL transform |
A MFL transform action converts non-XML to XML or XML to non-XML in the pipeline. For configuration properties, see Section 4.11.16, "MFL Transform Action Properties." |
Rename |
A rename action renames elements selected by an XPath expression without modifying the contents of the element. For configuration properties, see Section 4.11.22, "Rename Action Properties." |
Replace |
A replace action replaces a node or the contents of a node specified by an XPath expression. For configuration properties, see Section 4.11.23, "Replace Action Properties." |
Validate |
A validate action validates elements selected by an XPath expression against an XML schema element or a WSDL resource. For configuration properties, see Section 4.11.35, "Validate Action Properties." |
The following table describes the reporting actions you can add to a stage in a message flow:
Table 4-38 Message Flow Stage Node Reporting Actions
Action | Description |
---|---|
Alert |
An alert action ends an alert notification based on pipeline message context. For configuration properties, see Section 4.11.1, "Alert Action Properties." |
Log |
A log action constructs a message to be logged. For configuration properties, see Section 4.11.12, "Log Action Properties." |
Report |
A report action enables message reporting for a proxy service. For configuration properties, see Section 4.11.25, "Report Action Properties." |
Use this editor to construct a proxy service message flow. To insert a node or an action into a message flow, drag the item from the Message Flow Design Palette to the editor. When you drag an item to the editor, one or more target icons indicate that you can drop the dragged item in that position on the palette. When you drag the item onto a target, the target icon is highlighted to show that you can drop the item there.
You can also add nodes and actions to message flows by right-clicking an object in the Message Flow Editor and choosing a node or action from the Insert, Insert Into, or Insert After submenus. You can also add an error handler by selecting the Add Error Handler command. These submenus and commands are context sensitive. That is, they appear only when it is legal to add the item into the selected context in the message flow.
When you select a node or action in the editor, a configuration page for that item is displayed in the Properties view. You can add or modify configuration properties in those pages. The message flow node and action properties configuration pages are:
In a message flow, use the alert action to generate alerts based on message context in a pipeline, to send to an alert destination. Unlike SLA alerts, notifications generated by the alert action are primarily intended for business purposes, or to report errors, and not for monitoring system health. Alert destinations should be configured and chosen with this in mind. To learn more about alert destinations, see Section 4.1.1, "Alert Destination Editor."
If pipeline alerting is not enabled for the service or at the domain level, the configured alert action is bypassed during message processing.
In the Message Flow Editor, click an alert action to display its properties in the Properties view. Use these properties pages to configure the selected alert action. The pages are:
Alert
Comment
Namespaces
Variables
The Alert page has the following options:
Table 4-39 Alert Action Options
Option | Description |
---|---|
Expression |
An XQuery expression that specifies the message context to be added to the alert message. To create or edit an expression, click <Expression> (or the |
Summary |
A short description of the alert. This will be the subject line in the case of an e-mail notification and can contain no more than 80 characters. If no description is provided, a predefined subject line that reads, "ALSB Alert," will be used instead. |
Severity |
The severity level for this alert. Select a level from the list. |
Destination |
The destination for the alert. To specify a destination, click Browse to select an appropriate resource. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use an assign action to assign the result of an XQuery expression to a context variable.
In the Message Flow Editor, click an assign action to display its properties in the Properties view. Use these properties pages to configure the selected assign action. The pages are:
Assign
Comment
Namespaces
Variables
The Assign page has the following options:
Table 4-40 Assign Action Options
Option | Description |
---|---|
Expression |
An expression that creates the data that is assigned to variable named in the Variable field, described below. To create or edit an expression, click <Expression> (or the |
Variable |
The variable to which the value created in the XQuery expression described above is assigned. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a conditional branch node to specify that message processing is to proceed along exactly one of several possible paths, based on a result returned by an XPath condition.
Conditional branching is driven by a lookup table with each branch tagged with a simple, but unique, string value. A variable in the message context is designated as the lookup variable for that node, and at run time, its value is used to determine which branch to follow. If no branch matches the value of the lookup variable, the default branch is followed. You should design the proxy service in such a way that the value of the lookup variable is set before reaching the branch node.
In the Message Flow Editor, click a conditional branch node to display its properties in the Properties view. Use these properties pages to configure the selected conditional branch node. The pages are:
Flow
Conditional Branch
The Flow page has the following options:
Option | Description |
---|---|
Name |
Enter a name for the conditional branch node. |
Description |
Enter a description for the conditional branch node. |
The Conditional Branch page has the following options:
Table 4-42 Conditional Branch Options
Option | Description |
---|---|
XPath |
The XPath expression that defines the condition to be evaluated for determining the branch to follow. To create or edit the XPath expression, click <XPath> (or the |
Variable |
Enter a context variable. |
A conditional branch node also always contains one or more branches, which are configured as part of the node.
Click a Branch icon in a conditional branch node to display the Branch properties page in the Properties view. Use these properties pages to configure the selected branch node in a message flow. This page has the following options.
Option | Description |
---|---|
Label |
A label for the branch. This label appears as the label for the branch in the Message Flow Editor. |
Operator |
Select an operator from the list to be used with the value in the next field, for creating the condition on which the branch is based. |
Value |
Enter a value to be used with the operator in the previous field, for creating the condition |
In a message flow, use a delete action to delete a context variable or a set of nodes specified by an XPath expression.
In the Message Flow Editor, click a delete action to display its properties in the Properties view. Use these properties pages to configure the selected delete action. The pages are:
Delete
Comment
Namespaces
Variables
The Delete page has the following options. Select Variable to delete a variable, or select XPath to delete an XPath expression.
Table 4-44 Delete Action Options
Option | Description |
---|---|
Variable |
Select this radio button to delete a context variable. Enter the name of the context variable to delete in the adjacent text field. |
XPath |
Select this radio button to delete all nodes selected by an XPath expression. Then:
|
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a dynamic publish action to publish a message to a service specified by an XQuery expression.
In the Message Flow Editor, click a dynamic publish action to display its properties in the Properties view. Use these properties pages to configure the selected dynamic publish action. The pages are:
Dynamic Publish
Comment
Namespaces
Variables
The Dynamic Publish page has the following options:
Table 4-45 Dynamic Publish Action Options
Option | Description |
---|---|
Service |
An XQuery expression that defines the service to which a message is to be published. To create or edit the expression, click <Expression> (or the In the editor, enter an Xquery expression or select an XQuery resource that provides a result similar to: <ctx:route isProxy="false"> <ctx:service>project/folder/businessservicename</ctx:service> <ctx:operation>foo</ctx:operation> </ctx:route> Note: The element |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a dynamic routing action to assign a route for a message based on routing information available in an XQuery resource.
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions.
In the Message Flow Editor, click a dynamic routing action to display its properties in the Properties view. Use these properties pages to configure the selected dynamic routing action. The pages are:
Dynamic Routing
Comment
Namespaces
Variables
The Dynamic Routing page has the following option:
Table 4-46 Dynamic Routing Action Properties
Option | Description |
---|---|
Service |
An XQuery expression that defines the route to be taken by a message. To create or edit an expression, click <Expression> (or the In the XQuery/XSLT Expression editor, enter an Xquery expression, the result of which is similar to: <ctx:route> <ctx:service isProxy='true'>{$service}</ctx:service> <ctx:operation>{$operation}</ctx:operation> </ctx:route> Note: If a proxy service is being invoked,
|
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
Use an error handler to specify what should happen if an error occurs in a specific location in the message flow.
All configuration for an error handler is in one or more stages contained by the error handler. See Section 4.11.33, "Stage Node Properties."
In a message flow, use the for-each action to iterate over a sequence of values and execute a block of actions.
In the Message Flow Editor, click a for-each action to display its properties in the Properties view. Use these properties pages to configure the selected for-each action. The pages are:
For Each
Comment
Namespaces
Variables
The For Each page has the following options:
Table 4-47 For-Each Action Properties
Option | Description |
---|---|
For Each Variable |
Enter the name of the variable on whose contents the for-each action(s) will be executed. |
XPath |
An XPath expression that specifies where in the structure of the containing context variable the variable specified in the For Each Variable field is located. To create or edit the XPath expression, click <XPath> (or the |
In Variable |
The context variable containing the variable on whose contents the for-each action(s) will be executed. |
Index Variable |
A variable containing the current number of iterations in the loop. |
Count Variable |
A variable containing the total number of iterations. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use an if-then action to perform an action or a set of actions conditionally, based on the Boolean result of an XQuery expression.
In the Message Flow Editor, click an if-then action to display its properties in the Properties view. Use this page to review and configure general properties of the if-then action. The pages are:
Comment
Namespaces
Variables
An if-then action always contains an if condition plus zero or more else-if condition, where you define the conditions for the if-then action. An if-then action also always contains an else condition, which defines the default path when no other condition is met.
Click an If:condition icon or an Else-If:condition icon in an if-then action to display their properties in the Properties view. Use these properties pages to configure the selected condition. This If condition properties page has the following option.
If actions and else-if actions are always contained by an if-then action. The message follows the path associated with the first if action or else-id action that returns true.
Table 4-48 If and Else-If Action Options
Option | Description |
---|---|
Condition |
A condition in an if action or an if-else action that contains one of the tests for following alternative paths in the flow. To add or edit a condition
In the route node, you can select only the routing, dynamic routing, or routing table actions. However, these actions can contain request and response actions. To add an Else-If condition: Click add condition. Then add one or more actions to this else-if condition, as described above for the If condition. Continue with as many else-if conditions as your logic requires. Condition actions can be nested. |
The else action does not have associate properties. When all if and else-if conditions return false, the message proceeds down the path associated with the else action.
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use an insert action to insert the result of an XQuery expression at an identified place relative to nodes selected by an XPath expression.
In the Message Flow Editor, click an insert action to display its properties in the Properties view. Use these properties pages to configure the selected insert action. The pages are:
Insert
Comment
Namespaces
Variables
The Insert page has the following options:
Table 4-49 Insert Action Options
Option | Description |
---|---|
Expression |
The XQuery expression used to create the data that will be inserted at a specified location in a named variable. To create or edit an expression, click <Expression> (or the |
Location |
The location where the insert is performed, relative to the result of the XPath expression: Options are:
|
XPath |
Valid configurations include those in which:
To create or edit the XPath expression, click <XPath> (or the |
Variable |
The context variable whose contents are evaluated by the XPath variable defined above. Enter the name of the variable in the text field. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a Java callout action to invoke a Java method or an EJB business service from within the message flow.
In the Message Flow Editor, click a Java Callout action to display its properties in the Properties view. Use these properties pages to configure the selected Java callout action. The pages are:
Java Callout
Comment
Namespaces
Variables
The Java Callout page has the following options:
Table 4-50 Java Callout Action Options
Option | Description |
---|---|
Method |
An external Java method to be called from the message flow. Click Browse to select a class and a static method from an archived resource. Once you have selected the class and method, a table appears on the Java Callout Properties page: The Name column lists all the method's arguments. The Action column provides an <Expression> or expression_fragment link to the XQuery/XSLT Expression Editor, where you can create an expression to retrieve a value for the argument. Data types for the arguments must be one of the following:
If the type of the input value you enter does not match the declared input argument type, Oracle Service Bus tries to automatically typecast input values to the declared type of the input argument. For example a string value of |
Result Type |
The variable to which the result is assigned. The label for the field indicates the data type of the result. If the result is a byte array (the only possible array returned), the binary-content XML element is returned. |
Service Account |
An optional Service Account, which can be specified if there is a security context for this Java method. Click Browse to select a service account. In the case of fixed and mapped service accounts, the userid/password from the service account is authenticated in the local system and the security context propagated to the Java callout. In the case of |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use the log action to construct a message to be logged and to define a set of attributes with which it will be logged.
In the Message Flow Editor, click a log action to display its properties in the Properties view. Use these properties pages to configure the selected log action. The pages are:
Log
Comment
Namespaces
Variables
The Log page has the following options:
Option | Description |
---|---|
Expression |
The message context to be logged through XQuery expressions on context variables. To create or edit an expression, click <Expression> (or the |
Annotation |
Notes for this log action. These notes are logged along with the result of the previously defined expression. |
Severity |
The severity of the log message. Options are:
|
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In the Message Flow Editor, click a node or an action to display its properties in the Properties view. For most nodes and actions, one of the properties pages displayed (as a tab) is the Comment page. Use this page to add an optional comment about the item selected in the message flow.
In the Message Flow Editor, click a node or an action to display its properties in the Properties view. For most nodes and actions, one of the properties pages displayed (as a tab) is the Namespaces page. Use this page to see a list of defined namespaces or to create a new namespace.
In the Message Flow Editor, click a node or an action to display its properties in the Properties view. For many nodes and actions, one of the properties pages displayed (as a tab) is the Variables page. Use this page to see a list of all the predefined and user-defined context variables. Click Add to define a new variable.
In a message flow, use a MFL (Message Format Language) transform action to convert message content from XML to non-XML, or vice versa, in the message pipeline. An MFL is a specialized XML document used to describe the layout of binary data. It is an Oracle proprietary language used to define rules to transform formatted binary data into XML data, or vice versa.
In the Message Flow Editor, click a MFL transform action to display its properties in the Properties view. Use these properties pages to configure the selected MFL transform action. The pages are:
MFL Transform
Comment
Namespaces
Variables
The MFL Transform page has the following options:
Table 4-52 MFL Transform Action Options
Option | Description |
---|---|
Apply Transform |
The type of transform to be applied. Select XML to Non-XML or Non-XML to XML, according to your requirement. |
on <Expression> |
The variable on which the MFL transformation action is to be performed. Click <Expression> (or the This input must be text or binary when transforming to XML, and must be XML when transforming to non-XML. Binary content in the message context is represented by the binary-content XML element. This XML should be the result of the Xquery expression when the input needs to be binary. |
Resource |
Select this option to perform an MFL transform action using a static MFL resource. Click Browse to select the resource. |
Resource From |
Select this option to specify an MFL resource that will perform the transform action. Click <Expression> (or the |
Variable |
The name of the variable to which the result of this transform action is to be assigned. The result will be a binary-content XML element. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use an operational branch node to configure branching based on operations defined in a WSDL.
When message flows define WSDL-based proxy services, operation-specific processing is required. Instead of configuring a branching node based on operations manually, Oracle Service Bus provides a branching node that automatically branches based on operations. In other words, when you create an operational branch node in a message flow, you can quickly build your branching logic based on the operations defined in the WSDL, because the Oracle Service Bus plug-ins present those operations in the operational branch node configuration page.
A branch node allows processing to proceed along exactly one of several possible paths. Branching is driven by an XPath-based switch table. Each branch in the table specifies a condition (for example, <500
) that is evaluated in order down the message flow against a single XPath expression (for example, ./ns: PurchaseOrder/ns:totalCost
on $body
). Whichever condition is satisfied first determines which branch is followed. If no branch condition is satisfied, then the default branch is followed. A branch node may have several descendants in the message flow: one for each branch, including the default branch.
When you add an operational branch node to a message flow in the Message Flow Editor, the node contains an initial conditional branches based on the first operation defined in the WSDL, plus a default branch, as shown in Figure 4-1.
Figure 4-1 Branch Node With "Submit" Operation From WSDL and "Default" Branch
Click the node itself (the Operational Branch Node icon or the bounding box connected to the icon) to display the Flow properties page in the Properties view. You can provide a name and a description for the node on that page.
Click an operational branch icon to display the properties for that operational branch on the Operational Branch page. That page contains a list of all the operations defined in the WSDL. You can select a different operation for that branch. You can also click the plus sign in the operational branch node, in the Message Flow Editor, to add another operation branch.
After you have added all the branches, add nodes and stages to them to define the processing for each branch.
In a message flow, use a pipeline pair node to define request and response processing.
Message flows can include zero or more pipeline pair nodes: request and response pipelines for the proxy service (or for the operations on the service), and error handler pipelines that can be defined for stages, pipelines, and proxy services. Pipelines can include one or more stages, which in turn include actions.
A pipeline pair always contains a request pipeline and a response pipeline. Add stages and actions to those pipelines, as needed.
In the Message Flow Editor, click a pipeline pair node to display its properties in the Properties view. Use this properties page to configure the selected pipeline pair node. The options are:
In a message flow, use a publish action to identify a statically specified target service for a message and to configure how the message is packaged and sent to that service.
In the Message Flow Editor, click a publish action to display its properties in the Properties view. Use these properties pages to configure the selected publish action. The pages are:
Publish
Comment
Namespaces
Variables
The Publish page has the following options:
Table 4-54 Publish Action Options
Option | Description |
---|---|
Service |
The target service for the publish action. Click Browse to select a proxy service or business service from a list. |
Invoking |
The operation to be invoked on the target service. This option appears only if the selected service defines any operations. To configure how the message is packaged and sent to the service, in the Request Actions field, click Add an Action. Then select an action to associate with the service. You can add more than one action. |
Use inbound operation for outbound |
Select this option to make the outbound operation the same as the inbound operation. This option appears only if the selected service defines any operations. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a publish table action to publish a message to zero or more statically specified services. Switch-style condition logic is used to determine at run time which services will be used for the publish. A publish table action contains one or more case actions to define conditions for following alternative paths (by default, via publish actions), as well as a default path to a default publish action. To fully define a publish table action, you must configure the publish table action, its case actions, and its publish actions (and any other actions you may add).
When you add a publish table action to a message flow in the Message Flow Editor, the publish table action contains a case action with a path to a publish action plus a default case action with a path to a default publish action, as shown in Figure 4-2. Click add condition to add another condition to the publish table.
In the Message Flow Editor, click the publish table action itself (the Publish Table icon or the bounding box connected to the icon) to display the Publish Tables properties page in the Properties view. Use these properties pages to configure the selected publish table action. The pages are:
Publish Table
Comment
Namespaces
Variables
The Publish Table properties page has the following option:
Table 4-55 Publish Table Options
Option | Description |
---|---|
Expression |
An XQuery expression, which at run time returns the value upon which the routing decision will be made. To create or edit an XQuery expression, click <Expression> (or the |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In the Message Flow Editor, click a case action to display its properties in the Properties view. Use this properties page to configure the selected case action, as described below:
In a message flow, use the raise error action to raise an exception with a specified error code (a string) and description.
In the Message Flow Editor, click a raise error action to display its properties in the Properties view. Use these properties pages to configure the selected raise error action. The pages are:
Raise Error
Comment
Namespaces
Variables
The Raise Error page has the following options:
Table 4-57 Raise Error Action Options
Option | Description |
---|---|
Code |
The error code to be raised. |
Message |
Description of the error code |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
If a service is transactional, a triggered Raise Error action aborts the transaction in the request (asynchronous) or in either the request or response (synchronous). For example, you may introspect messages and determine conditions under which a Raise Error action should occur even if no SOAP fault occurs, and Raise Error causes the transaction to be aborted.
In a message flow, use the rename action to rename elements selected by an XPath expression without modifying the contents of the element.
In the Message Flow Editor, click a rename action to display its properties in the Properties view. Use these properties pages to configure the selected rename action. The pages are:
Rename
Comment
Namespaces
Variables
The Rename page has the following options:
Table 4-58 Rename Action Options
Option | Description |
---|---|
XPath |
An XPath expression used to specify the data (in the named variable) that will be renamed. To create or edit the XPath expression, click <XPath> (or the |
In Variable |
The context variable that holds the element you want to rename. Enter the name of the variable in this field. |
Localname |
A local name to use to rename the selected elements. Enter the local name in this field. |
Namespace |
A namespace to use when renaming the selected elements. Enter the namespace in this field. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a replace action to replace a node or the contents of a node specified by an XPath expression. The node or its contents are replaced with the value returned by an XQuery expression.
A replace action can be used to replace simple values, elements and even attributes. An XQuery expression that returns nothing is equivalent to deleting the identified nodes or making them empty, depending upon whether the action is replacing entire nodes or just node contents.
In the Message Flow Editor, click a replace action to display its properties in the Properties view. Use these properties pages to configure the selected replace action. The pages are:
Replace
Comment
Namespaces
Variables
The Replace page has the following options:
Table 4-59 Replace Action Options
Option | Description |
---|---|
XPath |
The XPath expression used to specify the data (in the named variable) that will be replaced. To create or edit the XPath expression, click <XPath> (or the |
Variable |
Enter a context variable. |
Expression |
The XQuery expression used to create the data that replaces the data specified by the XPath in the named variable. To create or edit an expression, click <Expression> (or the |
Replace entire node or Replace node contents |
When you finish editing the XQuery expression, select one of the options:
Note: Selecting the Replace node contents option and leaving the XPath field blank is more efficient than selecting the Replace entire node option and setting the XPath to |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use the reply action to specify that an immediate reply be sent to the invoker.
The reply action can be used in the request, response or error pipeline. You can configure it to result in a reply with success or failure. In the case of reply with failure where the inbound transport is HTTP, the reply action specifies that an immediate reply is sent to the invoker.
In the Message Flow Editor, click a reply action to display its properties in the Properties view. Use these properties pages to configure the selected reply action. The pages are:
Assign
Comment
Namespaces
Variables
The Reply page has the following options:
Table 4-60 Reply Action Options
Option | Description |
---|---|
With Success or With Failure |
Select With Success to reply that the message was successful, or select With Failure to reply that the message has a fault. Reply With Failure will cause a transaction, if started by Oracle Service Bus, to be aborted. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use the report action to enable message reporting for a proxy service.
In the Message Flow Editor, click a report action to display its properties in the Properties view. Use these properties pages to configure the selected report action. The pages are:
Report
Comment
Namespaces
Variables
The Report page has the following option:
Table 4-61 Report Action Options
Option | Description |
---|---|
Expression |
The XQuery expression used to create the data that will be reported. To create or edit an expression, click <Expression> (or the |
Search Keys |
When you finish editing the XQuery expression, click Add a Key to add one or more key value pairs to be used to extract key identifiers from any message context variable or message payload. (The rest of the message is ignored.) The keys are a convenient way to identify a message. In the Key Name: Name field enter a name for the key.In the Key Value column, click <XPath> to create the XPath expression in the XPath Expression Editor.In the In variable field, enter the name of the variable on which the expression will be executed. |
For example, consider a report action configured on an error handler in a stage. The action reports the contents of the fault context variable in the event of an error. The report action is configured as follows:
Key name = errorCode
Key value = ./ctx:errorCode
in variable fault
Each time this action is executed at run time, a message is reported via the Reporting Data Stream. The following table shows the results after the report action is executed twice.
Table 4-62 Report Action Execution Results
Report Index | DB TimeStamp | Inbound Service | Error Code |
---|---|---|---|
errorCode=BEA-382505 |
04/26/07 9:45 AM |
MortgageBroker/ProxySvcs/loanGateway3 |
BEA-382505 |
errorCode=BEA-382505 |
04/26/07 9:45 AM |
same |
BEA-382505 |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use the resume action to resume message flow after an error is handled by an error handler. This action has no parameters and can only be used in error pipelines.
In the Message Flow Editor, click a resume action to display its properties in the Properties view. Use these properties pages to configure the selected resume action. The pages are:
Comment
Namespaces
Variables
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use the route node to handle request and response dispatching of messages to and from business services. No other nodes can follow a route node.
In the Message Flow Editor, click a route node to display its properties in the Properties view. Use these properties pages to configure the selected route node. The pages are:
Route
Namespaces
Variables
The Route page has the following option:
Option | Description |
---|---|
Name |
Enter a name for the route node. |
Description |
Enter a description for the route node. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a routing action to identify a target service for the message and configure how the message is routed to that service.
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions.
In the Message Flow Editor, click a routing action to display its properties in the Properties view. Use these properties pages to configure the selected routing action. The pages are:
Routing
Comment
Namespaces
Variables
The Routing page has the following option:
Table 4-64 Routing Action Options
Option | Description |
---|---|
Service |
The target service for the routing action. Click Browse to select a proxy service or business service from a list. |
Invoking |
The operation to be invoked on the target service. This option appears only if the selected service defines any operations. To configure how the message is packaged and sent to the service, in the Request Actions field, click Add an Action. Then select an action to associate with the service. You can add more than one action. |
Use inbound operation for outbound |
Select this option to make the outbound operation the same as the inbound operation. This option appears only if the selected service defines any operations. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a routing options action to modify any or all of the following properties in the outbound request: URI, Quality of Service, Mode, Retry parameters, Message Priority.
In the Message Flow Editor, click a routing options action to display its properties in the Properties view. Use these properties pages to configure the selected routing options action. The pages are:
Routing Options
Comment
Namespaces
Variables
The Routing Options page has the following option:
Table 4-65 Routing Options Action Properties
Option | Description |
---|---|
URI |
Select this option to set the URI for the outbound message: To create or edit an expression, click <Expression> (or the Enter an expression that returns a URI. This overrides the URI for the invoked service. |
QoS |
Select this option to set the Quality of Service element: Select a QoS option from the list. This overrides the default. |
Mode |
Select this option to set the mode to Request or Request-Response. Select the mode from the list. Note: This is normally already automatically set, based on the interface of the service invoked. However, in some cases like Any Soap or Any XML services, this is not so. |
Retry Interval |
Select this option to set the retry interval. Specify the number of seconds between retries. This overrides the default configured with the invoked service. |
Retry Count |
Select this option to set the retry count. Specify the number of retries the system must attempt before discontinuing the action. This overrides the default configured with the invoked service. |
Priority |
Select this option to set the message priority: To create or edit an expression, click <Expression> (or the Enter an expression that returns a positive integer. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a routing table to select different routes based upon the results of a single XQuery expression. A routing table action contains a set of routes wrapped in a switch-style condition table.
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions.
When you add a routing table action to a message flow in the Message Flow Editor, the routing table action contains a case action with a path to a routing action plus a default case action with a path to a default routing action, as shown in Figure 4-3. Click add condition to add another condition to the routing table.
In the Message Flow Editor, click the publish table action itself (the Publish Table icon or the bounding box connected to the icon) to display the Publish Tables properties page in the Properties view. Use these properties pages to configure the selected publish table action. The pages are:
Routing Table
Comment
Namespaces
Variables
The Routing Table properties page has the following option:
Table 4-66 Routing Table Options
Option | Description |
---|---|
Expression |
An XQuery expression, which at run time returns the value upon which the routing decision will be made. To create or edit an XQuery expression, click <Expression> (or the |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In the Message Flow Editor, click a case action to display its properties in the Properties view. Use this properties page to configure the selected case action, as described below:
In a message flow, use a service callout action to configure a synchronous (blocking) callout to an Oracle Service Bus-registered proxy or business service.
In the Message Flow Editor, click a service callout action to display its properties in the Properties view. Use these properties pages to configure the selected service callout action. The pages are:
Service Callout
Comment
Namespaces
Variables
The Service Callout page has the following options:
Table 4-68 Service Callout Action Options
Option | Description |
---|---|
Service |
The target service for the service callout action. Click Browse to select a proxy service or business service from a list. |
Invoking |
The operation to be invoked on the target service. This option appears only if the selected service is WSDL-based and has operations that can be invoked on the service. |
Configure Soap Body or Configure Payload Document |
Specify how you want to configure the request and response messages by selecting one of the following options:
|
Subsequent configuration options depend on the kind of service you selected and on the kind of configuration options you chose. Table 4-69 shows the options available for each service type.
Table 4-69 SOAP Body, Payload Parameters, and Payload Document Options
Selected Service Type | "Configure SOAP Body" Options | "Configure Payload Parameters" Options or "Configure Payload Document" Options |
---|---|---|
SOAP RPC |
See "SOAP Request Body and SOAP Response Body" in the following table. (Optional) See "SOAP Request Header and SOAP Response Header" in the following table. |
See "Request Parameters and Response Parameters" (optional) (Optional) See "SOAP Request Header and SOAP Response Header" in the following table. |
SOAP Document and Any SOAP |
See "SOAP Request Body and SOAP Response Body" in the following table. (Optional) See "SOAP Request Header and SOAP Response Header" in the following table. |
See "Request Document and Response Document" in the following table. (Optional) See "SOAP Request Header and SOAP Response Header" in the following table. |
XML, Any XML, and Messaging |
See "SOAP Request Body and SOAP Response Body" in the following table. |
See "Request Document and Response Document" in the following table. |
The following table provides instructions for each of the options listed in the previous table.
Table 4-70 SOAP Body, Payload Parameters, and Payload Document Option Descriptions
For These Options... | Follow These Steps... |
---|---|
SOAP Request Body and SOAP Response Body |
To configure these options:
|
SOAP Request Header and SOAP Response Header |
To configure these options:
|
Request Parameters and Response Parameters |
To configure options:
|
Request Document and Response Document |
To configure these options:
|
Optionally, add one or more transport header actions. For more information about transport header actions, see Section 4.11.34, "Transport Headers Action Properties."
Note:
In addition to the transport headers you specify, headers are added by the Oracle Service Bus binding layer.Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
In a message flow, use the skip action to specify that at run time, the execution of the current stage is skipped and the processing proceeds to the next stage in the message flow. This action has no parameters and can be used in the request, response or error pipelines.
In the Message Flow Editor, click a skip action to display its properties in the Properties view. Use these properties pages to configure the selected skip action. The pages are:
Comment
Namespaces
Variables
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a stage node as a container for actions in a message flow. You can string multiple stages together, to compartmentalize processing logic.
In the Message Flow Editor, click a stage node to display its properties in the Properties view. Use these properties pages to configure the selected stage node. The pages are:
Stage
Namespaces
Variables
The Stage page has the following options:
Option | Description |
---|---|
Name |
Enter a name for the stage node. |
Description |
Enter a description of the stage node. |
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a transport header action to set header values in messages.
In the Message Flow Editor, click a transport headers action to display its properties in the Properties view. Use these properties pages to configure the selected transport headers action. The pages are:
Transport Headers
Comment
Namespaces
Variables
The Transport Header page has the following options:
Table 4-72 Transport Header Action Options
Option | Description |
---|---|
Direction |
From the Set Transport Headers for list, select one of the following, to specify to the run time which of the message context locations are to be modified:
|
Pass All Headers |
Select this option to pass all headers through from the inbound message to the outbound message or vice versa. Every header in the source set of headers will be copied to the target header set, overwriting any existing values in the target header set. |
Headers |
Click Add Header to add a header to the Headers table. Then configure each header as described in the following rows. You can add as many headers as necessary to this table. You do not have to order the headers in the table, because the run time declares namespaces and places header elements in their proper order when generating the corresponding XML. |
Headers: Name: |
Specify a header by doing either of the following:
|
Headers: Action |
Select one of the options in this column to specify how to set the header's value:
|
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In a message flow, use a validate action to validate elements selected by an XPath expression against an XML schema element or a WSDL resource. You can validate global elements only; Oracle Service Bus does not support validation against local elements.
In the Message Flow Editor, click a validate action to display its properties in the Properties view. Use these properties pages to configure the selected validate action. The pages are:
Validate
Comment
Namespaces
Variables
The Validate page has the following options:
Table 4-73 Validate Action Options
Option | Description |
---|---|
XPath |
An XPath expression that specifies the elements to be validated. To create or edit the XPath expression, click <XPath> (or the XPath_fragment, if one is already defined) to display the XPath Expression Editor. |
In Variable |
The name of the variable to hold the element to be validated. Enter the name of the variable, or, if Content Assist is on, press Ctrl-Space to display a list of declared variables. |
Against Resource |
An XML schema element or a WSDL resource against which the elements selected by the XPath expression (in the XPath field described above) are validated. |
Save Variable or Raise Error |
To save the result of this validation (a boolean result), select Save Variable and enter the name of the variable in which you want to save the result. Alternatively, to raise an error if the element fails validation against the WSDL or XML schema element, select Raise Error. |
Use the Comment page to add a comment, if desired:
Use the Namespaces page to see a list of defined namespaces or to create a new one.
Use the Variables page to see a list of defined context variables or to create a new one.
In Oracle Service Bus, JAR resources can contain classes that depend on other classes in different JARs. Use the Modify JAR Dependencies page to add or remove referenced JAR resources. Use the Up and Down buttons to reorder the hierarchy (order of precedence) of referenced JARs. For more information, see "JARs" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBAG898
.
Table 4-74 Modify JAR Dependencies Properties
Option | Description |
---|---|
Available JARs |
The project name and the name of the folder, if applicable, in which the JAR resources reside. This column shows all available JARs in the current workspace. |
JAR references |
The name and path of the referenced JAR resources. This column shows all the JARs currently configured as dependencies. |
The following editor and wizard are provided for working with SMTP servers:
Use this page to view the details of an SMTP server and edit the configuration, if required. For descriptions of the fields, see the Section 4.13.2, "New SMTP Server Resource Wizard."
If you rename an SMTP resource, the new name is automatically updated in the any e-mail business services that reference the SMTP resource in the endpoint URI.
Use this page to configure a new SMTP server resource.
Table 4-75 New SMTP Server Options
Option | Description |
---|---|
Description |
Enter a description for this SMTP server resource. |
Server URL |
Enter the URL that points to the SMTP server. This is a required field. |
Port Number |
Enter a port number for the SMTP server (the default port is 25). This is a required field. |
User Name |
If access to the target SMTP server requires a user name and password, enter a user name in the User Name field, and the associated password in the Password and Confirm Password fields. These fields are optional, and required only if the SMTP server is secured. |
Password |
Enter the associated password. |
Confirm Password |
Enter the same password you entered for the Password field. |
Use this page to configure a UDDI registry resource. This page is displayed in the New UDDI Registry Resource wizard and in the UDDI Configuration editor.
For more information, see "UDDI" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus at http://www.oracle.com/pls/as1111/lookup?id=OSBAG392
.
Table 4-76 UDDI Registry Options
Option | Description |
---|---|
Description |
Enter a description of the registry. |
Inquiry URL |
The URL of the Inquiry API endpoint used for locating and importing services. Enter an inquiry URL in the format: |
Publish URL |
The URL of the Publish API endpoint used for publishing services. Enter a publish URL in the format: http://host:port/APPLICATION_SERVER_CONTEXT/uddi/publishing |
Security URL |
The URL of the Security API endpoint used for getting an authentication token so that you can publish to the registry. Enter a security URL in the format: |
Subscription URL |
The URL of the Subscription API endpoint used for subscribing to registry changes, creating a registry subscription, and listening for changes to imported services. Enter a subscription URL in the format:
By default, the value for APPLICATION_SERVER_CONTEXT in the installer is registry. |
User Name |
Enter the user name to log into the registry console. |
Password (Confirm Password) |
Enter the password to log into the registry console. |
Validate |
Click Validate to validate that a connection can be made to the configured registry. |
This view displays a hierarchical view, or outline, of a structured file that is currently open in the editor area. The contents of this view are editor-specific.
In Oracle Service Bus, when the proxy service is editor is open and the Message Flow Editor is selected, the Outline view displays a hierarchical view of the nodes and actions in the message flow. When the Message Flow Editor is displayed, you can switch between the hierarchical view and a thumbnail view of the service.
In thumbnail view, when the entire message flow does not fit in the editor, a blue mask appears in the outline view to show what portion of the flow is visible in the editor. To display a different portion of the flow, you can drag the mask to the portion of the flow you want to display in the editor.
The following are provided for managing resources:
Use this page to associate one or more file extensions with an Oracle Service Bus resource type.
Use this page to view resource dependencies. This view shows your current selection whether it is in the Project Explorer or the active editor.
Table 4-78 Reference Dependency Properties
Option | Description |
---|---|
Referenced By |
A list of the resources outside of this project, folder, or resource that are dependent on resources inside this project or folder, or this resource. |
References |
A list of the resources outside of this project, folder, or resource on which resources inside this project or folder, or this resource depends. |
Use this dialog to specify where to clone a project, as a new project or as a folder under a different project.
Table 4-79 Clone Project Options
Option | Description |
---|---|
Name |
Enter a name for the new (cloned) project. |
As project or As folder in location |
Select As project to clone the project as another project, that is, as a peer to the other projects. Select As folder in location to convert a project (and its contents) into a folder under a project. When you select this option, you must also select the new location. |
Use this dialog to select a resource, appropriate to the context, that has been created in or imported into the Oracle Service Bus plug-ins. When you click Browse from an editor or a wizard, this dialog displays the available resources that are appropriate for the context. The dialog has different names, depending on the type of resource displayed, for example, Select a WSDL, Select a MFL, Select an XML Schema, etc. In some cases, the dialog displays a hierarchical list of items contained in each resource. For example, the Select an XML Schema dialog lists elements and types defined in the schemas. The Select a WSDL dialog displays ports and bindings defined in the WSDLs.
In some cases, for example, the Select a WSDL dialog, you can click the Consume button to open the Service Consumption dialog, where you can consume services from the following resource types: Oracle Enterprise Repository, file system, UDDI, URI, workspace: consume a service residing in the current workspace.
Use this page to configure a service key provider resource after you create one.
Table 4-80 New Service Key Provider Options
Option | Description |
---|---|
Description |
Enter a description for the service key provider. |
Encryption Key |
To enter an Encryption Key:
When you associate this service key provider with a proxy service, Oracle Service Bus embeds the X.509 certificate into the proxy service's WSDL. The proxy service then uses this certificate to encrypt the messages that it sends to its endpoint. The proxy service uses the private key in the PKI credential to decrypt the messages that the endpoint returns. |
Digital Signature Key |
To enter a Digital Signature Key:
|
SSL Client Authentication Key |
To enter an SSL Client Authentication Key:
|
Web Services Policy Framework (WS-Policy) is an extensible XML-based framework that extends the configuration of a Web Service with domain specific security assertions and specifies the security requirements, expectations, and capabilities of the Web Service. In Oracle Service Bus, one of the primary uses of WS-Policy is configuring message-level security in proxy services and business services.
Use this page to select a name and location for a new WS-Policy resource.
The following are provided for working with service accounts:
Section 4.19.2, "Service Account Editor - General Configuration Page"
Section 4.19.3, "Service Account Editor - Static User Configuration Page"
Section 4.19.4, "Service Account Editor - User Mappings Configuration Page"
Use the Service Account Resource editor to configure service account resource after you create it.
Table 4-82 New Service Account Options
Option | Description |
---|---|
Description |
Enter a description for the service account. |
Resource Type |
|
Use this page to configure a service account resource, as described in the following table.
Table 4-83 Service Account General Options
Option | Description |
---|---|
Description |
Enter a description for the service account. |
Resource Type |
Leave the resource type as is, or select a different resource type:
|
Use this to page to save a user name and password with the service account configuration. The service account encodes this user name and password in the outbound request.
Use this to page to create a service account that maps the user name from one or more clients to user names and passwords that you specify.
Table 4-85 Service Account User Mappings Options
Option | Description |
---|---|
Remote Users |
In the Remote User Name and Remote Password fields, enter the user name and password that you want to send in outbound requests. (Optional) Add additional remote users in the Remote Users table. |
Local User Mappings |
To map authorized clients to remote user names and passwords, in the Local User Name field, enter the name that identifies a client that has been authenticated on its inbound request. If you have not already added this user in the Security Configuration module of the Oracle Service Bus Console, do so before you use this mapping in a runtime environment. Oracle Service Bus lets you create a mapping for a non-existent local user, but the mapping will never match an authenticated user and will never be used. From the Remote User Name list, select the user name that you want to send in outbound requests for the authenticated user you specified in the Local User Name field. |
Map Anonymous Requests |
To map anonymous clients to remote user names, select the Map Anonymous Requests check box. From the Select Remote User list, select the user name that you want to send in outbound requests for all anonymous users. |
The following editors help you to write expressions for use in services.
Use the XQuery/XSLT Expression editor to create variable structures, define user namespaces, use predefined message context variables to build inline XQuery expressions, build inline XQuery expressions manually, and select XQuery or XSLT resources for execution as inline XQueries.
The XQuery/XSLT Expression editor contains two panels, each containing three tabs.
Use the panel on the left to write or construct the expression. The panel contains these pages (tabs):
Use the tabs in the panel on the right to manage the variables, namespaces, and XQuery functions you can use to construct an XQuery or XSLT. The panel contains these pages (tabs):
Use the XPath Expression Editor to create an XPath expression, which is then inserted into the location from which you launched the editor.
The XPath Expression Editor contains these pages:
You can write an expression directly in the Expression text field, or you can drag variables from the Variable Structure page and drag XQuery functions from the XQuery Functions page to construct a valid XPath expression.
When you are finished constructing the expression, you can click Test to test the expression on a running server. Or click OK to insert the expression without testing it.
Use the Condition Editor to create an inline XQuery condition.
Use the panel on the left to write or construct the condition. The panel contains these tabs, each of which is described below:
Use the tabs in the panel on the right to manage the variables, namespaces, and XQuery functions you can use to construct a condition. The panel contains the following tabs. They are the same as the tabs in the right-hand panel of the XQuery/XSLT Expression Editor, and the following links display the help for those tabs in the XQuery/XSLT Expression Editor.
Use the Condition Builder page to build an inline condition. This page appears only in the Condition Editor.
Build an expression in the Condition Builder as follows:
Select Comparison Expression to build a comparison expression or select Unary Expression to build a unary expression.
If you chose Comparison Expression, do the following:
In the Operand field, enter the name of the operand you want to compare to a value. Alternatively, drag an item from the Variable Structures tab on the right to the Operand field.
In the Value field, enter the value against which to compare the operand. Alternatively, drag item from the Variable Structures tab on the right to the Value field.
Select a comparison operator from the Operator list.
Go to step 4.
If you chose Unary Expression, do the following:
Select or deselect the Not check box to indicate whether to evaluate the expression as true or not true, that is, to specify whether the expression should be enclosed by not().
Enter an expression in the text field, or construct it by dragging items from the Variable Structures tab on the right.
Do either of the following:
Click Add to add a new statement to the expression in the Condition Expression field.
Select a statement in the Condition Expression field, then click Update to modify the statement.
Click Test to test the expression in a running server, or click OK to insert the condition in the message flow.
This page appears on the XQuery/XSLT Expression Editor, the XPath Expression Editor, and the Condition Editor.
The Expression page contains a text field where you can build expressions by typing directly into the field or by dragging items from the Variable Structures Page or the XQuery Functions Page on the right side of the editor.
Click Test to test the expression in an Oracle Service Bus domain on a running server. Oracle WebLogic Server is packaged with Oracle Service Bus, so an installation of Oracle Service Bus includes an embedded server you can use for testing purposes.
This page appears in the XQuery/XSLT Expression Editor only.
In the message flow of a proxy service, you can assign XQuery expressions to message context variables, assign if-then-else actions based on the Boolean result of an XQuery expression, insert the result of an XQuery expression at an identified place relative to an XPath expression, specify the message context that you want to log through XQuery expressions on context variables, and so on.
Use the XQuery Resource page to configure an XQuery transformation to be executed in the message flow of a proxy service.
Table 4-86 XQuery Resource Options
Field | Description |
---|---|
XQuery |
The XQuery resource to be executed. Click Browse to find and open an XQuery resource that has been registered in Oracle Service Bus. |
Bind Variables |
When you select a resource, each input parameter of the transformation is displayed. Each label corresponds to the name of a parameter, and each text box is for defining an XQuery expression to be mapped to the parameter. You must define a mapping for each parameter. Enter the expression directly, or drag variables and structures from the right panel. |
This page appears in the XQuery/XSLT Expression Editor only.
Use the XSLT Resource tab to configure an XSLT transformation to be executed in the message flow of a proxy service.
Table 4-87 XSLT Resource Options
Field | Description |
---|---|
XSLT |
The XSLT resource to execute. Click Browse to find and open a resource registered with Oracle Service Bus. |
Input Document |
An XQuery expression for the input document to the transformation, for example |
Bind Variables |
A label and a corresponding text box is displayed for each input parameter of the transformation. Each label corresponds to the name of a parameter, and each text box is for defining an XQuery expression to be bound to the parameter. You must define a binding for each parameter. For example, if an XSL transformation has two input parameters named one and two, the Variable Name field has two labels one and two, with a text box associated with each into which the XQuery expression is entered. Enter the expression directly, or drag variables and structures from the right panel. The following XQuery expressions are examples of valid input to this field: $body/*[1] $body/po:PurchaseOrder Note: The following variable name is not a valid entry for this field and results in an exception: body |
This page appears in the XQuery/XSLT Expression Editor only.
You can specify a dynamic XQuery expression that evaluates at runtime to the name of a pre-registered XQuery resource. Oracle Service Bus executes this XQuery resource, with optional variable bindings, against the message context to produce the required transformation.
Use the XQuery Resource page to configure a dynamic XQuery transformation to be executed in the message flow of a proxy service.
Table 4-88 Dynamic XQuery Options
Field | Description |
---|---|
Expression |
The XQuery expression that will evaluate at runtime to the name of a pre-registered XQuery resource. The following shows the syntax for the XQuery resource (representing the full name of the resource):
|
Select XQuery Template |
The resource to serve as a template for the shape of the query (the number and names of the variables). Click Browse to select an existing registered resource. After selecting a template, the variables appear in the Bind Variables area. Note that the template is not persisted with the configuration. Instead, the template serves as a quick start to help you specify the variables for the query. |
Add Custom Variable |
An input parameter of the transformation. Type a variable name in the Add Custom Variable field, and click Add. |
Bind Variables |
When you add a custom variable, it appears in the Bind Variables area. Similarly, when you select an XQuery template, each input parameter of the transformation is displayed. Each label corresponds to the name of a parameter, and each text box is for defining an XQuery expression to be mapped to the parameter. You must define a mapping for each parameter. Enter the expression directly, or drag variables and structures from the right panel. |
This page appears in the XQuery/XSLT Expression Editor, the XPath Expression Editor, and the Condition Editor.
The Variable Structures page displays variables and their contents as trees. It includes the built-in message context variables attachments
, body
, header
, outbound
, and inbound
, as well as any user-defined variables. It includes fault
if the context of the expression is appropriate (that is, in an error handler). The outbound
variable is always listed; even though it is not valid in every context. If outbound
is used in invalid contexts, it will be reported when validating.
Each variable structure mapping entry has a label and maps a variable or variable path to one or more structures. The scope of these mappings is a stage or a route node.
You can drag items from this page to the editor's Expression Page to insert them into the current expression. They are inserted as XPath expressions.
To define a new variable and add it to the variable structure tree, click Add to open the Add Variable Structure Dialog.
This page appears in the XQuery/XSLT Expression Editor, the XPath Expression Editor, and the Condition Editor.
The Namespace Definitions page lists default Oracle Service Bus namespaces, variable namespaces, and user-defined namespaces. Click Add to define a new namespace, which is then added to the list of user-defined namespaces. To modify a user-defined namespace, select it in the list, then click Edit.
This page appears in the XQuery/XSLT Expression Editor, the XPath Expression Editor, and the Condition Editor.
The XQuery Functions page lists a set of standard XQuery functions, organized alphabetically and by type. You can drag functions from this page to the editor's Section 4.20.5, "Expression Page" to insert them into the current expression. When you insert a function into an expression, placeholders are used for parameter values you must supply.
Use this dialog to define a variable and add it to the tree of variable structures in the Variable Structures Page of the Expression Editors.
You create variable structures in this dialog to define the structure of a variable for design purposes. For example, it is easier to browse the XPath variable in the structure view rather than viewing the XML schema of the XPath variable. Variable structures do not create variables. Variables are created at runtime as the target of the assign action in the stage.
You can declare your own variable structures based on:
XML types, including
Schema elements
WSDL elements
Schema types
WSDL types
MFLs
Service interfaces
Simple types (string or any XML)
You can use this feature directly for all user-defined variables, as well as $inbound
, $outbound
, and $fault
. However, you cannot use it directly to access XML attachments in $attachments
, headers in $header
, or documents and RPC parameters in $body
, with one exception— you can use it directly to access documents and parameters in $body
for request messages received by a WSDL proxy service.
When you create a variable structure based on XML types, MFLs, or service interfaces, you must enter the following information into the fields at the top of the page:
Table 4-89 Variable Structure Options
Option | Description |
---|---|
Structure Label |
A display name for the variable you want to create. This display name enables you to give a meaningful name to the structure so you can recognize it at design time but it has no impact at run time. |
Structure Path |
The path of the variable structure at run time |
Transformation maps describe the mapping between two data types. eXtensible Stylesheet Language Transformation (XSLT) maps describe XML-to-XML mappings.
Use this page to select a name and location for a new XSL transformation. This wizard creates a skeleton for the XSLT. Add details in the XSLT editor.
The following sections describe the fields and user interface components involved with creating and configuring Split-Joins in Oracle Service Bus.
The Split-Join Design Palette lists all the operations you can use to construct a Split-Join. To insert a control into a Split-Join, drag the icon from the palette to the Split-Join editor. When you drag an item to the editor, one or more target icons indicate that you can drop the dragged item in that position on the editor. When you drag the item into a target icon, it is highlighted to show that you can drop the item there.
The Split-Join Design palette is organized into the following categories:
Communication
Flow Control
Assign Operations
The following tables describe the operations you can add to a Split-Join:
Table 4-91 Split-Join Communication Operations
Operation | Description |
---|---|
Invoke Service |
Invoke Service invokes a WSDL-based, non-transport-typed Business Service, a WSDL-based Proxy Service, or a Split-Join. For configuration properties, see Section 4.22.5, "Invoke Service Properties." |
Reply |
Reply sends a response or fault back to the Oracle Service Bus Message Flow. For configuration properties, see Section 4.22.6, "Reply Properties." |
Table 4-92 Split-Join Flow Control Operations
Operation | Description |
---|---|
For Each |
For Each executes logic configured within its Scope a specified number of times. For configuration properties, see Section 4.22.7, "For Each Properties." |
If |
If provides conditional behavior within a Split-Join. For configuration properties, see Section 4.22.8, "If Properties." |
Parallel |
Parallel creates a fixed number of configured parallel branches. For configuration properties, see Section 4.22.10, "Parallel Properties." |
Raise Error |
Raise Error generates an error that causes the Split-Join to stop normal processing. If the error is not handled using an Error Handler, the Split-Join will terminate and a Fault will be sent to the Oracle Service Bus Message Flow. For configuration properties, see Section 4.22.11, "Raise Error Properties." |
Repeat Until |
Repeat Until lets you repeat operations until a condition evaluates to true within a Split-Join. The condition is evaluated after each loop finishes. For configuration properties, see Section 4.22.12, "Repeat Until Properties." |
Re-Raise Error |
Re-Raise Error lets you re-raise an error caught by an Error Handler Catch or CatchAll. For configuration properties, see Section 4.22.13, "Re-Raise Error Properties." |
Scope |
Scope creates a context which influences the behavior of its enclosed operations. For configuration properties, see Section 4.22.14, "Scope Properties." |
While |
While lets you repeat operations until a condition evaluates to false within a Split-Join. The condition is evaluated before each loop commences. For configuration properties, see Section 4.22.15, "While Properties." |
Table 4-93 Split-Join Assign Operations
Operation | Description |
---|---|
Assign |
Lets you assigns the result of an XQuery expression to a Variable. For configuration properties, see Section 4.22.17.1, "Assign Operation Properties." |
Copy |
Lets you copy the information specified by an XPath expression from a source document to a destination document. For configuration properties, see Section 4.22.18, "Copy Properties." |
Delete |
Lets you delete a set of nodes specified by an XPath Expression. For configuration properties, see Section 4.22.19, "Delete Properties." |
Insert |
Lets you insert the result of an XQuery expression at an identified place relative to nodes selected by an XPath Expression. For configuration properties, see Section 4.22.20, "Insert Properties." |
Java Callout |
Lets you invoke a static Java method from a Split-Join for custom actions such to be handled in Java such as validation, transformation, and logging. For configuration properties, see Section 4.22.21, "Java Callout Properties." |
Log |
Lets you log data at a specified severity so that administrators can take appropriate action. For configuration properties, see Section 4.22.22, "Log Properties." |
Replace |
Lets you replace a node or the contents of a node specified by an XPath expression.s For configuration properties, see Section 4.22.23, "Replace Properties." |
Operations have a General properties tab for changing the node's label and providing comments.
The start node in a Split-Join specifies its global properties. Among these properties, global variables and associated External Services can be reviewed and configured by expanding the left-side arrow. The global Error Handler can be reviewed and configured by expanding the right-side arrow.
Use the Properties view to review and configure the Global Properties of the selected Split-Join.
This page has two tabs:
Imports
General
The Imports tab has the following options:
Table 4-94 Split-Join Start Node Options - Imports Tab
Option | Description |
---|---|
WSDL Imports |
Displays WSDL Imports used by the Split-Join. Select a WSDL in the list and right-click to delete it. |
Schema Imports |
Displays Schema Imports used by the Split-Join. Select a Schema in the list and right-click to delete it. |
The General tab has the following options:
Use the Properties view to review and configure Variables in the selected Split-Join.
Table 4-96 Split-Join Variable Options
Option | Description |
---|---|
(tree) |
Depicts the hierarchical structure of the Variable's type. |
Edit |
Click to display the Create/Edit Variable Dialog, where you can modify the Variable's name and type. |
The Error Handler receives and handles all of the errors that are raised in a Split-Join.
An Error Handler lets you add Catch and CatchAll operations.
Use the Properties view to review and configure the selected Error Handler in a Split-Join.
The Catch tab has the following options.
Table 4-97 Split-Join Error Handler Options - Catch Tab
Option | Description |
---|---|
SOAP Fault Variable Name |
Defines a variable to contain SOAP (1.1 or 1.2) faults. If the Error Handler is executed due to a SOAP fault received from invoked external services, this variable is populated with the received SOAP fault. |
Fault Name – Define Fault |
Lets you define a custom local fault. Click Define Fault to enter a Namespace and Fault Name. |
Fault Name – Predefined |
Lets you select an existing WSDL, Application, or Standard fault. Click Pick Fault to select an existing fault. |
The catchAll tab has the following options.
Table 4-98 Split-Join Error Handler Options - CatchAll Tab
Option | Description |
---|---|
SOAP Fault Variable Name |
Defines a variable to contain SOAP (1.1 or 1.2) faults. If the Error Handler is executed due to a SOAP fault received from invoked external services, this variable is populated with the received SOAP fault. |
The Invoke Service invokes a WSDL-based, non-transport-typed Business Service, a WSDL-based Proxy Service, or another Split-Join.
Use the Properties view to review and configure the selected Invoke Service in a Split-Join.
The Operation tab has the following options:
Table 4-99 Split-Join Invoke Service Options - Operation Tab
Option | Description |
---|---|
Operation |
The operation to be invoked by the Service. Click Browse to select the operation you want to invoke. When you select an operation, a dashed blue line appears pointing to the external service in the Split-Join editor. |
Service Location |
The location of the invoked Service. Click the location path to open the service file. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
The Input Variable tab has the following options:
Table 4-100 Split-Join Invoke Service Options - Input Variable Tab
Option | Description |
---|---|
Message Variable |
A list of message type variables with the type matching the operation's input message type. Select Create Message Variable to define a new message variable. Note: If message type variables with the type matching the operation's input message type do not exist, you must define a new message type variable with the required type. |
Message Type Namespace |
The namespace of the operation's input message type. |
Message Type |
The operation's input message type. |
The Output Variable tab has the following options:
Table 4-101 Split-Join Invoke Service Options - Output Variable Tab
Option | Description |
---|---|
Message Variable |
A list of message type variables with the type matching the operation's output message type. Select Create Message Variable to define a new message variable. Note: If message type variables with the type matching the operation's output message type do not exist, you must define a new message type variable with the required type. |
Message Type Namespace |
The namespace of the operation's output message type. |
Message Type |
The operation's output message type. |
A Split-Join can invoke another Split-Join in the same Oracle Service Bus configuration. This functionality provides more flexibility in service design, letting you split up complex Split-Join functionality into multiple Split-Joins, allowing for componentization and re-use of Split-Join functionality. Performance is maintained, because there is no marshalling and unmarshalling of data between the Split-Joins.
You must ensure that you do not create circular Split-Join references. Oracle Service Bus does not check for circular references.
Reply sends a response or fault back to the Oracle Service Bus message flow.
Use the Properties view to review and configure the selected Reply in a Split-Join.
The Operation tab has the following options:
Table 4-102 Split-Join Reply Options - Operation Tab
Option | Description |
---|---|
Operation |
The operation to be invoked by the Reply. |
The Variable tab has the following Select options:
Table 4-103 Split-Join Reply Options - Variable Tab
Response Options | Description |
---|---|
Message Variable |
A list of the message variables whose type matches the operation's output message type. Select Create Message Variable to define a new message variable. Note: If message type variables with the type matching the operation's output message-type do not exist, you must define a new message type variable with the required type. |
Message Type Namespace |
The namespace of the operation's output message type. |
Message Type |
The operation's output message type. |
Pick WSDL Fault/SOAP Fault |
Determine whether the fault reply is a fault message defined in the operation of the WSDL or an explicit SOAP fault message. |
WSDL Fault Name |
Select a fault name from the list of faults defined in the operation of the WSDL. |
Message Variable |
A list of the Message Variables whose type matches the operation's output message type. Select Create Message Variable to define a new message variable. Note: If message type variables with the type matching the operation's output message-type do not exist, you must define a new message type variable with the required type. |
Message Type Namespace |
The namespace of the operation's output message type. |
Message Type |
The operation's output message type. |
SOAP Fault |
Select SOAP Fault |
Propagate SOAP Fault |
Propagate the SOAP fault in the SOAP fault variable defined in the Error Handler. |
Reply automatically includes an implicit Exit operation to end that instance of the flow without triggering a fault. The Exit operation is not visible in the development environment.
For Each executes logic configured within its Scope a specified number of times.
Use the Properties view to review and configure the selected For Each in a Split-Join.
The Counter Variables tab has the following options:
Table 4-104 Split-Join For Each Options - Counter Variables Tab
Option | Description |
---|---|
Parallel |
Select one of the following options:
|
Counter Variable Name |
Defines an implicit variable within the Scope of the For Each. Each iteration of the For Each contains an isolated instance of this variable. In turn, every instance is set to an iteration number; for example, the first iteration has its value set to Start Counter Value, the second iteration to Start Counter Value+1, etc. |
Start Counter Value |
The value of the Counter Variable for the first iteration of For Each. Determined as the result of an XPath expression. The result must be "1" or more. ("0" is not a valid Start Counter Value.) The browse button launches the expression builder. The expression should generate an integer for the initial Start Count Value. |
Final Counter Value |
The value of the Counter Variable for the final iteration of For Each. Determined as the result of an XPath expression. The result must be "1" or more. ("0" is not a valid Final Counter Value.) The browse button launches the expression builder. The expression should generate an integer for the Final Count Value. |
The Completion Condition tab has the following options:
Table 4-105 Split-Join For Each Options - Completion Condition
Option | Description |
---|---|
Number of Finished Branches |
An optional expression that determines when to stop creating branches. Depending on the context in the Split-Join, the expression prevents some of the children from executing or forces early termination of some children. The browse button launches the expression builder. |
Successful Branches Only? |
Select this option if you want only successfully completed branches to be counted when determining if the completion condition has been met. |
If nodes contain If, Else If, and Else operations. See Section 4.22.9, "If and Else If Properties."
Use the Properties view to review and configure the selected If in a Split-Join.
The If and Else If operations provide conditional behavior within a Split-Join.
Use the Properties view to review and configure the selected If or Else If in a Split-Join.
If and Else If have the following options:
Parallel lets you create a static Split-Join that handles fixed number of message requests. Parallels contain one or more Scope branches.
Use the Properties view to review and configure the selected Parallel in a Split-Join.
Raise Error establishes an error condition under which the execution of the process will halt.
Use the Properties view to review and configure the selected Raise Error in a Split-Join.
The Raise Error tab has the following options:
Table 4-107 Split-Join Raise Error Options
Option | Description |
---|---|
Define Fault |
Lets you specify a custom local fault not contained in the WSDL. Click the Fault link to specify the fault Namespace and Fault Name. |
Pick Fault From WSDL |
Lets you select an existing fault specified in the WSDL. Click the Pick Fault link to select the WSDL fault. |
Repeat Until lets you repeat operations until a condition evaluates to true within a Split-Join. The condition is evaluated after each loop finishes.
Use the Properties view to review and configure the selected Repeat Until in a Split-Join.
The Condition tab has the following options:
Use Re-Raise Error within an Error Handler to re-raise an error caught by a Catch or a CatchAll. In the Properties view you can rename and enter comments about the Re-Raise Error node.
Use the Properties view to review and configure the selected Re-Raise Error in a Split-Join.
The Scope creates a context which influences the behavior of its enclosed operations. Local variables and the Error Handler defined within the Scope are restricted to this context.
Use the Properties view to review and configure the selected Scope in a Split-Join.
Related Topics
While lets you repeat operations until a condition evaluates to false within a Split-Join. The condition is evaluated before each loop commences.
Use the Properties view to review and configure the selected While in a Split-Join.
The Condition tab has the following options:
Wait lets you insert a pause in the Split-Join flow for a short duration to wait for other dependent jobs to complete. After the short duration, the Wait continues the Split-Join execution.
Use the Properties view to review and configure the selected Wait in a Split-Join.
The Wait tab has the following options:
Table 4-110 Split-Join Wait Options
Option | Description |
---|---|
Duration |
Define an XPath expression that evaluates to a duration type of xsd:duration in the following format: nYnMnDTnHnMnS (number of years, months, days, hours, minutes, and seconds, with a date/time separator, represented by "T".) Be sure the expression resolves to a correct duration type. The Wait operation does not validate the results of the expression. When the duration is reached, the Wait resumes the Split-Join execution. Click the browse icon to launch the expression builder. |
Assign lets you perform data manipulation, including initializing and updating a Variable. You can perform the following operations in an Assign node: Assign, Copy, Delete, Insert, Java Callout, Log, and Replace.
Use the Properties view to review and configure the selected Assign in a Split-Join.
The Assign tab has the following options:
Table 4-111 Split-Join Assign Operation Options
Option | Description |
---|---|
Expression |
An XQuery expression used to create the data that will be assigned to the Variable. Clicking the expression launches the XQuery editor. When Oracle Service Bus binds variables in an inline XQuery, it assumes the type xs:string. This can cause parser errors in operations with constants that are incompatible with if ($itemsTotal < 10000) then . . . To make this inline XQuery work, explicitly cast the if (($itemsTotal cast as xs:double) < 10000) then . . . Also, when creating an Assign action to a String result or variable, ensure that your expression returns a String value. Assigning a non-String value to a String result or String global variable does not cause a |
Variable |
A variable to which the result of the XQuery expression is assigned. Only previously defined Variables, the Counter Variable, and SOAP Fault Variables (for Error Handlers) are available. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
Oracle Service Bus's Assign functionality in Split-Joins conforms to the WS-BPEL specification for resolution of XPath/XQuery expressions to simple type variables. Supported simple types for binding XPath/XQuery expressions to variables in Split-Joins are String, Boolean, and Float. The Assign converts the value you provide the type with which the variable is defined.
For example:
If you assign <foo><bar>4</bar></foo> to a response variable defined as a String ($response.result), Oracle Service Bus returns <bar>4</bar> as a String in the <result> through a simple copy of the child element and value.
If you map <foo><bar>4</bar></foo> to a String variable (such as myStr), then assign $myStr to $response.result, Oracle Service Bus returns <result>4</result>, because it first converts the value in $myStr to a String before it makes the assignment to the $response.result String variable.
The Copy operation copies the information specified by an XPath expression from a source document to a destination document.
Use the Properties view to configure a Copy Operation in an Assign. Configure Select From and Select To using the following guidance.
The Copy tab has the following options:
Table 4-112 Split-Join Copy Options
Option | Description |
---|---|
Keep Source Element |
Lets you determine which element name (source or destination) is used when values are copied from a source to a destination. If you do not select this option, the existing element name in the destination is used to hold the copied value. If you select this option, the name of the source element is used in the destination to hold the copied value. For example, if you are copying a zip code value from <zipCode>80303</zipCode> in the source, selecting Keep Source Element uses the <zipCode> element in the destination. If you do not select the option, the zip code value is copied to the existing destination element, such as <pinCode>80303</pinCode>. |
Choose Type |
Allows the user to select the desired type: Variable, Expression, Literal, or XML Fragment. Literals and XML fragments are available only in the Select From menu. |
Choose Type - Variable |
Select an XPath on a Variable. Use this option when simple node selection on a Variable is required. When a node is selected by expanding the Variable tree, an Xpath expression is automatically generated. |
Choose Type - Expression |
Create an Xpath expression to select a node from a Variable. Use this option when more complex Xpaths (potentially with predicates) are required to select a node on a Variable. Click the Expression link to use the XPath Expression Builder. Note: The entered Xpath expression should only copy to one XML node/element, or there will be run-time errors. |
Choose Type - Literal (Select From only) |
A Literal string entered by the user. Click the Literal link to enter the string. |
Choose Type - XML Fragment (Select From only) |
An XML fragment entered by the user. Click the XML Fragment link to enter the fragment. |
The Delete operation deletes a set of nodes specified by an XPath Expression.
Use the Properties view to configure a Delete Operation in an Assign.
Note:
Unlike a Delete operation in a proxy service message flow, a Delete operation in a Split-Join does not allow deleting a variable directly.The Delete tab has the following options:
Table 4-113 Split-Join Delete Options
Option | Description |
---|---|
XPath |
An XPath Expression that selects the nodes to be deleted. Click the XPath link to launch the expression editor. |
In Variable |
Variable on which the XPath expression is executed to select the nodes to be deleted. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
The Insert operation inserts the result of an XQuery expression at an identified place relative to nodes selected by an XPath Expression.
Use the Properties view to configure an Insert Action in an Assign.
The Insert tab has the following options:
Table 4-114 Split-Join Insert Options
Option | Description |
---|---|
Expression |
An XQuery expression used to create the data that will be inserted at a specified location in a Variable. Click the Expression link to launch the expression editor. |
Location |
The location used to control where the Insert operation is performed relative to the result of the XPath Expression. Options include:
|
XPath |
An XPath that determines the nodes to be selected. Click the Xpath link to launch the expression editor. |
Variable |
A Variable to be evaluated by the XPath. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
A Java Callout operation lets you invoke a static Java method from a Split-Join for custom actions such to be handled in Java such as validation, transformation, and logging.
Use the Properties view to configure a Java Callout operation in an Assign.
The Java Callout tab has the following options:
Table 4-115 Split-Join Java Callout Options
Option | Description |
---|---|
Method |
Package your Java class in a JAR file in your Oracle Service Bus project. Click Browse to first select the JAR, then the method you want to invoke. Using the following guidelines for the Java callout method:
Only the following Java types are supported for method return:
|
Expression |
An XQuery expression used to map data to the input parameters of the static Java method. Click the Expression link to launch the expression editor. |
Result Value |
Select the variable to contain the result value for the Java method. |
Service Account |
You can use Service Account to put the appropriate subject on the thread when executing the Java callout. Click Browse to select a service account. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
Oracle Service Bus provides the following errors for Java callouts:
2031350 – Received more than one element when only one is expected during conversion to Java
2031351 – Found simple type instead of XmlObject when converting to Java
2031352 – Error converting simple type to its corresponding Java type
2031353 – Received exception during invocation of the Java method
2031354 – Errors setting the security context
The Log operation lets you log Split-Join data at a specified severity to the server log file. Administrators can use log information to take appropriate action based on the severity of the data logged.
Use the Properties view to configure a Log operation in an Assign.
The Log tab has the following options:
Table 4-116 Split-Join Log Options
Option | Description |
---|---|
Expression |
An XQuery expression used to select the data to be logged. Click the Expression link to launch the expression editor. |
Annotation |
Optionally specify a note for the log. The annotation is logged along with the data selected by the expression. |
Severity |
Select one of the following the severity levels for the log:
|
The Replace operation lets you replace a node or the contents of a node specified by an XPath expression.
Use the Properties view to configure a Replace operation in an Assign.
The Replace tab has the following options:
Table 4-117 Split-Join Replace Options
Option | Description |
---|---|
XPath |
An XPath Expression used to specify the data (in the Variable) that will be replaced. Click the XPath link to launch the expression editor. |
Variable |
The Variable that contains the data to be replaced. |
Expression |
An XQuery expression used to create the data that replaces the data specified by the XPath in the named Variable. Click the Expression link to launch the expression editor. |
Replace entire node |
Specifies that the nodes selected by the expression are replaced along with all of its contents. |
Replace node contents |
Specifies that the node is not replaced. Only the contents are replaced. |
Qos |
The quality of service option that controls transaction support. Select one of the following:
|
Use the Properties view to review and configure the selected Receive in a Split-Join.
The Operation tab has the following options:
Table 4-118 Split-Join Receive Options - Operation Tab
Option | Description |
---|---|
Operation |
The operation to be invoked by the Receive. Browse to select an operation from the WSDL Browser. |
The Variable tab has the following options:
Table 4-119 Split-Join Receive Options - Variable Tab
Option | Description |
---|---|
Message Variable |
A list of the message variables whose type matches the operation's output message type Select Create New Variable to define a new message variable. Note: If message type variables with the type matching the operation's output message-type do not exist, you must define a new message type variable with the required type. |
Message Type Namespace |
The namespace of the operation's output message type. |
Message Type |
The operation's output message type. |
Use this dialog to create a Counter Variable.
Use this dialog to review and/or configure Variables in the Split-Join.
Although variables are visible in the scope in which they are defined and in all scopes nested within that scope, a variable declared in an outer scope is hidden when you declare a variable with an identical name in an inner scope. For example, if you define variable myVar in an outer scope (So) and then define variable myVar again in an inner scope (Si) which is contained by scope So, then you can only access the myVar you defined in the inner scope Si. This myVar overrides the myVar you defined in scope So.
Table 4-121 Split-Join Variable Options
Option | Description |
---|---|
Name |
Enter a name for the Variable that is unique within the Scope. |
Select Variable Type |
Select one of the following Variable Types:
|
Select Variable Type - Built-in Types |
When selected, only Built-in Type Variables are displayed. |
Select Variable Type- Schema Types |
When selected, all Schema Types in the current Oracle Service Bus Configuration are displayed. If "Show only applicable schema types/elements for this Split-Join" is selected, only Schema Types directly applicable to the current Split-Join are displayed. This is checked by default. |
Select Variable Type - Message Types |
When selected, only message types are displayed. If "Show only applicable schema types/elements for this Split-Join" is selected, only Message Types directly applicable to the current Split-Join are displayed. This is checked by default. |
Type |
The Variable type. |
Namespace |
The namespace of the Variable's type. |
Use this dialog to create a new message variable.
Use this dialog to browse for and select an operation from a business service, a proxy service, or a Split-Join in the tree.
Use this dialog to create a SOAP fault variable.
Use this dialog to browse for and select an operation from a WSDL in the depicted tree.
Use this page to locate and name the new Split-Join
Use this page to select an operation for the new Split-Join.
Table 4-125 New Split-Join Options - Selecting an Operation
Option | Description |
---|---|
Select Operation |
Select the operation from those available in the tree. |
Consume |
Click this button to import WSDLs from outside your current Oracle Service Bus configuration that can subsequently be used to select an operation. |