Oracle® Application Server Integration InterConnect Adapter for AQ Installation and User's Guide
10g Release 2 (10.1.2) Part No. B14077-01 |
|
![]() Previous |
![]() Next |
This chapter provides answers to frequently asked questions about the AQ adapter:
The Advanced Queuing adapter did not start properly. What is wrong?
Why is the AQ adapter using old information after I changed information in iStudio?
What is the consumer name one should provide during installation?
Can I install multiple Advanced Queuing adapters on the same computer?
How do I know that the AQ adapter has started properly?
View the oailog.txt
file located in the timestamped subdirectory of the AQ adapter log
directory:
Platform | Directory |
---|---|
UNIX | ORACLE_HOME /integration/interconnect/adapters/ Application /log/ timestamp_in_milliseconds
|
Windows | ORACLE_HOME \integration\interconnect\adapters\ Application \log\ timestamp_in_milliseconds
|
where Application
is the value you defined in Step 4, and timestamp_in_milliseconds
is the directory. If no exceptions are listed, then the adapter has started properly.
The Advanced Queuing adapter did not start properly. What is wrong?
View the exceptions in the AQ adapter log file (oailog.txt
). The exceptions should provide some idea about what went wrong. It is possible that the AQ adapter is unable to connect to the repository. Ensure that the repository is started properly. Once the repository is started properly, the AQ adapter will connect to it. You do not need to restart the adapter.
See Also: Oracle Application Server Integration InterConnect User's Guide for instructions on starting the repository on UNIX and Windows |
Why is the AQ adapter using old information after I changed information in iStudio?
The AQ adapter caches the information from iStudio that is stored locally in the repository for better performance in a production environment.
If you change something in iStudio and want to view it in the runtime environment, then stop the AQ adapter, delete the cache files, and restart the adapter.
Each adapter has a persistence directory located in the adapter's directory. Deleting this directory when adapter has been stopped allows the adapter to obtain the new metadata from the repository when started.
Which databases are referred to during installation?
The database referred during installation are those on the application side from which the adapter will either put or get messages from Advanced Queuing.
What is the consumer name one should provide during installation?
If all the queues that the AQ adapter connects to on the application side are single consumer queues, then leave this blank. However, if any one of the queues is a multiconsumer queue, then specify a consumer name.
The application that writes to the AQ adapter uses a consumer name to indicate to OracleAS Integration InterConnect to pick up this message. Use one of the following methods to determine the consumer name to use:
If the piece of code that writes the message to the AQ adapter is already available, then look at that code or the documentation that comes with it to find the consumer name.
If the piece of code that writes the message to the AQ adapter is not available, then enter any string as the consumer name. When that piece of code is built, ensure that the consumer names match.
The B2B is unable to pick up messages from InterConnect. The messages reach the IP_OUT_QUEUE, but stay there because B2B process them. What's wrong?
B2B listens on the IP_OUT_QUEUE as b2bUser, whereas IC does not enqueue the message for any specific user. As a result, B2B does not pick up the messages.
Use the 'AddHeader' transformation in the subscribing adapter transformation mapping. The field should be 'aq_recipients' and the value should consist of comma-separated consumer names.
How can I edit configuration settings after installation?
Edit the parameters in the following file:
Platform | Directory |
---|---|
UNIX | ORACLE_HOME /integration/interconnect/adapters/ Application /adapter.ini
|
Windows | ORACLE_HOME \integration\interconnect\adapters\ Application \adapter.ini
|
The following table lists the parameters and their corresponding questions in the installation:
Parameter | Parameter Information |
---|---|
aq_bridge_consumer_name
|
The consumer name. |
aq_bridge_host
|
Host |
aq_bridge_instance
|
The database SID. |
aq_bridge_owner
|
The Advanced Queuing owner. Enter the value if your Advanced Queuing adapter is installed under a different user than aq_bridge_username .
|
aq_bridge_port
|
The TNS listener port. |
aq_bridge_thinjdbc
|
Use a THIN JDBC driver if true, otherwise use OCI8 JDBC driver. |
a q_bridge_username
|
User name |
Can I install multiple Advanced Queuing adapters on the same computer?
The installer overwrites previous installations of the AQ adapter if you try to install it a second time in the same Oracle home. However, you can have multiple Oracle homes on a computer and have one AQ adapter in each Oracle home. When you install the AQ adapter a second time, choose a different Oracle home.
How do I handle ANY
tags in DTDs imported into iStudio?
ANY
tags in an XML DTD allow unstructured data to be used in XML. OracleAS Integration InterConnect, however, must know about the structure of that data (using a DTD) if that data is to be used in mappings.
There are two methods for to know about the structure of the data:
The simplest method is to modify the DTD being imported into iStudio and replace the ANY
tag with structured data. When modifying the DTD, only a copy of the DTD being imported into iStudio is modified, not the published version of the DTD. For example, if the USERAREA AN
Y
tag is edited before importing the DTD into iStudio, only a copy is changed and the published OAG definition, which other people who download the OAG DTDs would use, is not changed.
This approach also supports using PCDATA for an ANY
tag.
For example, consider the following customer.dtd
:
<!ELEMENT customer (name, phone, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT address ANY)>
This customer.dtd
can be changed to the following:
<!ELEMENT customer (name, phone, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT customer (name, phone, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT address (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT zip (#PCDATA)>
This is dependent on what the XML will conform to at runtime. If the XML will use the ANY
tag in different ways at runtime, a union can be used. For example, if address
has street
, city
, and state
only for some instances and for other instances has zip
only, then a standard DTD union mechanism can be used to do this.
The following steps describe a second approach that involves creating a separate DTD and defines the structure used at runtime for the ANY
tag.
Import the DTD for the event, while creating an Application Data Type or creating the published/subscribed event or the invoked/implemented procedure. iStudio warns about the ANY
tag and points out the type that needs to be modified.
Reload the iStudio project.
Under the list of ADTs, find the type corresponding to the ANY
element and right-click to display the context menu. This is the ADT mentioned in Step a.
Import a DTD, which defines the structure planned to use, for the ANY
tag.
This method does not support using PCDATA
tag for the ANY
element. The ANY
element must have a sub-element in this case.
For example, consider the following, customer.dtd
:
<!ELEMENT customer (name, phone, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT address ANY)>
When this DTD is imported, iStudio warns that the address
tag is an ANY
tag and it corresponds to the address
ADT in iStudio.
The address_any.dtd
could look like the following:
<!ELEMENT address_any (street, city, zip)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT zip ANY)>
Import the address_any.dtd
by right-clicking the address ADT in iStudio. This assumes that the XML has an address_any
element under the address element, as follows:
<address> <address_any> <street> <city> <zip> </address_any> </address>
If the address_any
element is not needed, then instead of editing the address ADT, edit customer ADT and change the type of address attribute from address
to address_any
, after importing address_any
elsewhere. The following is now true:
<address> <street> <city> <zip> </address>
OracleAS Integration InterConnect uses Oracle Wallet Manager to maintain system passwords. When you install OracleAS Integration InterConnect, Oracle Wallet Manager is also installed and a password store is created. All passwords used by OracleAS Integration InterConnect components are stored in the password store. The password is stored in the Oracle Wallet in the following format:
ApplicationName/password
For example,
AQAPP/aq_bridge_schema_password
The ApplicationName
is the name of the application, which is extracted from the adapter.ini
file of the corresponding adapter. In the adapter.ini
file, the application
parameter specifies the ApplicationName
to which this adapter connects. The password for the application is also retrieved from the adapter.ini
file.
You can create, update, and delete passwords using the oraclewallet
command. When you run the command, it prompts you for the admin password.
You can use the following commands to manage your passwords:
List all passwords in the store
oraclewallet -listsecrets
Create a password
oraclewallet -createsecret passwordname
For example, to create a password for the hub schema:
oraclewallet -createsecret hub_password
View a password
oraclewallet -viewsecret passwordname
For example, to view the password for the hub schema:
oraclewallet -viewsecret hub_password
Update a password
oraclewallet -updatesecret passwordname
For example, to update the password for the hub schema:
oraclewallet -updatesecret hub_password
Delete a password
oraclewallet -deletesecret passwordname
For example, to delete the password for the hub schema:
oraclewallet -deletesecret hub_password