Troubleshooting Actions to Invoke a Web Service

Using Actions to Integrate Oracle BI EE with External Systems 5-25

5.6.5.2 Messaging

Note the following items: ■ A Web Service called from the Action Framework needs to be SOAP-based. ■ The Action Framework supports synchronous, requestresponse messages. ■ The Action Framework does not support WS-Addressing.

5.6.5.3 SOAP

The Action Framework supports the following data types in outgoing and incoming SOAP 1.1 and 1.2 messages. Note that support for arrays is currently limited. The action framework allows you to enter a single value into any array for example, String[] in an out-going SOAP message. ■ xsd:any ■ xsd:base64Binary ■ xsd:string ■ xsd:date ■ xsd:time ■ xsd:dateTime ■ xsd:double ■ xsd:decimal ■ xsd:int ■ xsd:short ■ xsd:long ■ xsd:byte ■ xsd:Boolean ■ xsd:float

5.6.5.4 Response Document

The SOAP response document is made available to the user interface and can be formatted using XPATH and html. The document can retrieve multiple occurrences of the same parameter, but you must map each occurrence to a specific XPATH parameter.

5.6.5.5 Service Description

Note the following items: ■ The Action Framework supports WSDL. ■ The Action Framework supports synchronous, requestresponse messages.

5.6.5.6 Discovery Services

Note the following items: ■ The Action Framework supports WSIL. ■ The Action Framework does not currently support UDDI. 5-26 Oracle Fusion Middleware Integrators Guide for Oracle Business Intelligence Enterprise Edition

5.6.5.7 Security

The Action Framework supports WS-Security based on the policies available to the OWSM.

5.6.5.8 Reliable Messaging and Transactions

The Action Framework does not currently support any mechanism for guaranteeing message delivery or maintaining the integrity of transactions.

5.6.6 Invoke a Java Method EJB

This action type allows users to browse for target Java methods deployed in Enterprise Java Beans EJBs and then create an action to invoke the selected method. For more information about creating this action type in Presentation Services, see Working with Actions in Oracle Fusion Middleware Users Guide for Oracle Business Intelligence Enterprise Edition.

5.6.6.1 Prerequisites for This Action Type

In order for the Action Framework to provide this action type and before a user can create an Invoke a Java Method EJB action, you must have performed the following tasks: ■ Added a target EJB with a URL to the JNDI location for that EJB. Note that the Action Framework expects EJBs to be deployed to the default location of ejb. ■ Modified the configuration file’s registry element so that it references the target EJB. For information about this required configuration, see Section 5.3.2.2, Invoke a Java Method Action Type Registry Example . ■ Added a credential to the credential store to invoke the EJB method. The appropriate configuration needs to be added to pass credentials to the EJB method when it is invoked. For more information, see Section 5.4.1, Oracle BI EE Credentials and Section 5.5, Adding and Maintaining Credentials for Use With the Action Framework .

5.6.6.2 Parameters for the EJB

The Action Framework finds the Java methods exposed through the remote interface of the EJB. The parameters of exposed methods become the parameters for an action. When deploying an EJB method, you may import, but not modify, the oracle.bi.action.annotation.OBIActionParameter class found in Actionframework-common.jar. This class, which was deployed with the installation of Oracle Business Intelligence, allows you to annotate parameters for use by the Action Framework when creating actions. The following example shows code to define a remote interface exposing a method called ArchiveReport. Note that the import statement for oracle.bi.action.annotation.OBIActionParameter and the annotation OBIActionParameter. This annotation allows you to specify a parameter name and a prompt value to display when creating an action. package project1; import java.io.FileNotFoundException; import java.io.IOException; import javax.activation.DataHandler; import javax.ejb.Remote; import oracle.bi.action.annotation.OBIActionParameter;