A recent project required installing Oracle Application Integration Architecture (AIA) Foundation Pack 2 (2.2.1) on Red Hat Linux ES 4. AIA requires Oracle SOA Suite 10g and Oracle Service Registry. However, the AIA installer is designed to install on a single-node advanced SOA Suite installation, and not a clustered one. For those who have installed a clustered Oracle SOA Suite, you will understand how drastically different it is in terms of installation and configuration.
Below are 3 issues I have encountered during my setup and resolutions to each of them.
A prerequisite step to installing AIA involves editing httpd.conf to enable directory browsing. The AIA installer detects this by creating a temporary directory under $ORACLE_HOME/Apache/Apache/htdocs (since that is one location where it copies the static EBOs, etc.).
Unfortunately, the AIA installer is not aware that your web server (Oracle HTTP Server in this case) may be installed in a separate ORACLE_HOME, and thus fails as it checks for the existence of 'htdocs' in the SOA ORACLE_HOME.
Manually copy the 'htdocs' directory from the OHS ORACLE_HOME to $ORACLE_HOME/Apache/Apache on the SOA ORACLE_HOME.
The AIA installer tries to configure its ErrorHandlingMDB to listen to AS JMS (in-memory). When performing a clustered install of Oracle SOA Suite as per the instructions in the Enterprise Deployment Guide, the ESB_ERROR topic will be hosted by AQ and the resource adapter will be OracleOJMS, so that both nodes use a common version.
However, by design, the AIA Installer looks only for the in-memory OracleASjms (see Oracle Bug #6932261).
To work around this known issue, a dummy error topic is created so that the AIA installation can proceed, and once the installation is complete, the MDB will be configured to use the AQ based JMS instead of this dummy topic.
1. In Enterprise Manager, click on oc4j_soa -> Administration -> JMS Destinations.
2. On the 'JMS Destinations' screen, click the Create button.
3. Choose 'Type' as Topic.
4. For 'Destination Name', enter ESB_ERROR_DUMMY.
5. For the 'JNDI' entry, enter jms/topic/ESB_ERROR.
Error happened when reading wsdl at "/u01/app/oracle/product/10.1.3/soa/bpel/domains/default/tmp/.bpel_AIADemogetSMItemPriceProvABCSImpl_1.0_df91da2143861b6e7a295558f2ee44ba.tmp/_AIADemogetSMItemPriceProvABCSImpl.wsdl", because "Error reading import of file:/u01/app/oracle/product/10.1.3/soa/bpel/domains/default/tmp/.bpel_AIADemogetSMItemPriceProvABCSImpl_1.0_df91da2143861b6e7a295558f2ee44ba.tmp/_AIADemogetSMItemPriceProvABCSImpl.wsdl: Failed to read WSDL from http://rh-soa.itciss.com:7777/AIAComponents/UtilityArtifacts/RuntimeFault.wsdl:WSDL not found".
Make sure wsdl exists at that URL and is valid.
The Configuration Assistant fails because the WSDL points to certain XSD's which are supposed to be hosted by the web server.
For Issue #2, you said that the MDB will be configured to use the AQ based JMS instead of this dummy topic.
But how do you do this configuration ?
This is actually performed automatically by the installer, so you don't have to worry about it.
As to how to do it exactly, I'm not sure. Unfortunately, at this time I don't have access to an AIA environment to confirm.