Oracle® Fusion Middleware Release Notes 11g Release 1 (11.1.1) for Microsoft Windows (32-Bit) Part Number E10132-04 |
|
|
View PDF |
This chapter describes issues associated with Oracle Technology Adapters. It includes the following topics:
This section describes general issues and workarounds. It includes the following topics:
Section 21.1.1, "Oracle JCA Adapters Issues and Workarounds"
Section 21.1.2, "Oracle JCA Adapter for Files/FTP Issues and Workarounds"
Section 21.1.3, "Oracle JCA Adapter for AQ Issues and Workarounds"
Section 21.1.4, "Oracle JCA Adapter for JMS Issues and Workarounds"
Section 21.1.5, "Oracle JCA Adapter for Database Issues and Workarounds"
Section 21.1.6, "Oracle JCA Adapter for MQ Series Issues and Workarounds"
Section 21.1.7, "Oracle JCA Adapter for Socket Issues and Workarounds"
Section 21.1.8, "Native Format Builder Issues and Workarounds"
Section 21.1.9, "Oracle Adapter for Oracle Applications Issues and Workarounds"
This section describes issues and workarounds that are applicable to all adapters: Oracle AQ Adapter, Oracle JMS Adapter, Oracle Files/FTP Adapter, Oracle MQ Series Adapter, Oracle Database Adapter, and Oracle Socket Adapter.
This section includes the following issue:
Section 21.1.1.1, "ECID Propagation Is Not Supported by Oracle Technology Adapters"
Section 21.1.1.2, "Retry Occurs for the Specified Retry Interval Even on Undeploying the Composite"
ECID (Execution Context Identifier) propagation is not supported by Oracle Technology adapters. The ECID is used to keep track of message flow in Oracle Enterprise Manager, and hence this feature is not available in Oracle Technology adapters.
Adapter references for which retries are specified at the binding level, continues to retry for the cumulative retry interval (retry count * retry interval) even after the composite is undeployed.
If you have configured the retries, as shown in the following example:
<property name="jca.retry.count" type="xs:integer" many="false" override="may">20</property> <property name="jca.retry.interval" type="xs:integer" many="false" override="may">10</property>
Based on this configuration the interval should be 200 seconds, and even if the composite is undeployed after 30 seconds during the retry, the retry continues till the cumulative retry interval (retry count * retry interval) is reached.
If an outbound adapter throws an exception with GLOBAL_RETRY
, then the retry configured at the outbound adapter level will not take effect. The retry falls back to the caller which could be a BPEL process. It is observed that the retry happens from the inbound to the BPEL process (caller of BPEL process) in either of the following transaction semantics in Oracle BPEL process:
Scenario 1:
<property name="bpel.config.transaction">requiresNew</property> <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
Scenario 2:
<property name="bpel.config.transaction">required</property> <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
If the adapter throws a LOCAL_RETRY
, then the retry configured at the outbound adapter level will take effect.
Note that for the inbound retry to work, Oracle BPEL process must not have any dehydration points.
This section describes the following issues and workarounds related to Oracle File and FTP Adapters:
It includes the following sections:
Section 21.1.2.1, "Files Lost During an SOA Server Failover"
Section 21.1.2.3, "Rejection Handling Not Working Properly for XML-Debatching Scenarios"
Section 21.1.2.5, "Prerequisite for Oracle FTP Adapter Debatching Scenarios on FTPS"
Section 21.1.2.6, "Chunked Read Feature Not Supported for Secure FTP"
Section 21.1.2.7, "Editable Append Property With Dynamic File Name"
The Oracle File Adapter picks up a file from an inbound directory, processes the file, and sends the processed file to an output directory. However, during this process if a failover occurs in an SOA managed server, then the file may be lost because of the nontransactional nature of Oracle File Adapter. As a result, some files read by the inbound adapter may not be sent to the output directory. You must configure the Oracle File Adapter for high availability, to ensure that files are not lost during a failover.
When Oracle File and FTP Adapters read a Unicode XML file with byte order mark (BOM), a DOM parsing exception is thrown at runtime. If the Unicode XML file does not use BOM, then an exception is not thrown.
In case of debatching scenarios with XML payloads that have errors such as extra tags and spurious data, output files are created along with the rejected messages.
If Oracle File and FTP Adapters use logical directories for inbound or outbound operations, then JCA property updates from Oracle Enterprise Manager Console are not applied.
You must use a synchronous process in case of Oracle FTP Adapter debatching scenarios on FTP over SSL (FTPS) for large payloads. If a synchronous process is not used, then the FTP server throws the error code, 421.
The Chunked Read feature of Oracle FTP Adapter is not supported for SFTP (Secure FTP) using SSH transport.
When a dynamic file name is specified for an output file, the Append
property must not be edited. However, the Oracle Enterprise Manager Fusion Middleware Control Console allows you to edit the Append
property even when you specify a dynamic file name for an output file. Ensure that you do not edit the Append
property when you specify a dynamic file name for an output file.
When using a dynamic file name the value of the Append
property must be false
. By default, the value of the Append
property is false
and this must not be edited while using a dynamic file name.
This section describes the following issue and workaround related to Oracle AQ Adapter:
It includes the following section:
In an SOA project that contains outbound AQ adapter, Mediator or BPEL, and an inbound AQ adapter, when you select the business payload option as Field within the Object, the national characters are garbled.This issue depends on server locale encoding and exists only on native locale. However, when the server is running on UTF-8 encoding, this issue does not exist.
It is recommended that you use Oracle Adapter for Oracle Applications to dequeue from queues in E-Business Suite Applications and not Oracle AQ Adapter.
This section describes the following issues and workarounds related to Oracle JMS Adapter:
Section 21.1.4.1, "Example of Flow Control Settings for Oracle JMS Adapter"
Section 21.1.4.3, "Distributed Topic in Clustered Environment Creates Extra Messages"
Anytime the exception weblogic.messaging.kernel.QuotaException: Quota blocking time exceeded and no quota available is encountered, WLS JMS provider allows flow control settings that you can tweak to control the number of messages that are produced/consumed.
For more information about tweaking the control settings, see
The following is an example of the flow control settings used and the various thresholds for a message carrying a payload size of 5k:
Config JMSServer: Message Buffer Size:5000 Config JMSConnectionFactory: Flow Control: Flow Maximum: 30 Flow Minimum: 1 Flow Interval: 10 Flow Step: 10 check Flow Control Enabled Default Delivery: Send Timeout: 3000000 Config JMS Destinations: Bytes Threshold High: 50000 Bytes Threshold Low: 50 Messages Threshold High: 100 Messages Threshold Low: 1 Set Quota
While migrating a project from one environment to another, Oracle JMS Adapter Wizard populates the Destination and JNDI name fields in edit mode in the following pages:
Consume Operation Parameters page
Produce Operation Parameters page
Request Operation Parameters page
Reply Operation Parameters page
Request/Reply Operation Parameters page
However, if you click Next, the Adapter Configuration Wizard validates whether this is a valid destination, and accordingly, displays a warning message if found to be invalid. You have the option to proceed or enter a valid destination.
When you use Oracle JMS adapter with a distributed topic deployed in a cluster, the scenario would result in more messages processed than the actual number of messages passed to the topic.
Each subscriber to the topic is handed a copy of the message to be processed by WLS JMS. So, the number of processed messages will be equal to the number of active subscribers on the distributed topic. This is a known behavior of Oracle WebLogic JMS in Oracle WebLogic Application Server 10.3.
This section describes the following issues and workarounds related to Oracle Database Adapter:
While configuring an outbound Oracle Database Adapter to perform a SELECT operation, if you select Get Active Unit of Work in the Adapter Configuration Wizard - Advanced Option page, then the value of the GetActiveUnitofWork
property is not saved in the .jca
file.
The workaround for this issue is to manually add this property in the .jca
file of the Oracle Database Adapter, as shown in the following example:
<property name="GetActiveUnitOfWork" value="true"/>
Consider a scenario in which the Oracle Database Adapter retries the transaction at remote fault (that is, when the database is down) in a condition where the binding fault retry is specified in the composite.xml file, and there is no fault policy defined. In such a scenario, the binding fault retry performed by the Oracle Database Adapter is not captured in the Audit Trail in the Oracle Enterprise Manager Console.
This section describes the following issues and workarounds related to Oracle MQ Series Adapter:
Section 21.1.6.3, "Oracle MQ Series Hangs If the Channel Is Brought Down in a Cluster Environment"
Section 21.1.6.4, "Adding Additional Encoding Not Supported"
Oracle MQ Series Adapter does not support asynchronous request-response pattern (where Mediator is the server).
If you select the outbound resource as XA, then the Oracle MQ Series Adapter throws an exception and does not retry because it does not support an outbound retry with outbound resource as XA. On the other hand, if the outbound resource is non-XA, then the retry happens correctly.
When working with more than one managed server, if you try to bring down the channel, then Oracle MQ Series hangs. This occurs in both Windows and UNIX operating systems.
Standard Java encodings and their mappings are provided with the MQ Series Adapter but the Adapter Configuration Wizard does not support addition of additional Java encodings that you may require.
To add support for the standard Java encodings that are not provided in the list, you can perform the following steps:
Extract the MQSeriesAdapter.jar
file from the MQSeriesAdapter.rar
file.
Extract the mq.properties
file from the MQSeriesAdapter.jar file.
Add the entry in the mq.properties
file. This file has two entries for a mapping between MQ Series encoding and Java encoding. For each new encoding that you require, you must make two entries to the mq.properties
file. Make an entry for the MQ Series encoding to the corresponding Java encoding and the other entry for the Java encoding to the corresponding MQ Series encoding.
This section describes the following issue and workaround related to Oracle Socket Adapter:
Oracle Socket Adapter is not supported on a cluster-based environment. If you try to deploy an inbound Oracle Socket Adapter in a clustered environment, then one of the managed servers throws an error message that the server's port is already in use.
This section describes the following issue and workaround related to Native Format Builder:
In the Specify Delimiter's page of the Native Format Builder wizard, the White space (any number of tab, space)
option in the Delimited by list is not supported.
This section describes the following general issues and workarounds related to Oracle Adapter for Oracle Applications:
Section 21.1.9.1, "Populating Default Values for Record Types While Using PL/SQL APIs"
Section 21.1.9.4, "Using Old Retry Property Names for Business Event Inbound Retry to Work Properly"
Section 21.1.9.5, "Retried Instances of Adapter for Oracle Applications Have Non-unique ECIDs"
Certain PL/SQL APIs exposed from Oracle E-Business Suite take record types as input. Such APIs expect default values to be populated for parameters within these record types for successful execution.
The default values are FND_API.G_MISS_CHAR
for characters, FND_API.G_MISS_DATE
for dates, and FND_API.G_MISS_NUM
for numbers. Adapter for Oracle Applications can default these values when the parameters within the record type are passed as nil values, as shown in the following example:
<PRICE_LIST_REC> <ATTRIBUTE1 xsi:nil="true"/> <ATTRIBUTE2 xsi:nil="true"/> <ATTRIBUTE3 xsi:nil="true"/> ... </PRICE_LIST_REC>
This can be achieved with the help of a function in a Transform activity, or by directly passing the XML input with nil values and then assigning them to the record types within an Assign activity.
When a user has a SOA composite of a PL/SQL API created against an Oracle E-Business Suite Release 11i instance and intends to use it against the Release 12 instance or vice versa, for the compatibility in the target instance, the wrapper package of the SOA composite must be recreated. This approach updates the signature in the generated wrapper SQL file for the target instance and avoids the possible confusion whether the signature is the same or has changed in the target instance.
When a user creates a Partner Link by selecting a concurrent program through Adapter for Oracle Applications, the SQL script that creates a wrapper package to submit the concurrent request is getting generated under the XSD folder in the composite artifacts and is not directly under the root composite folder. Therefore, if a user creates the composite against one Oracle E-Business Suite instance and deploys it on a different Oracle E-Business Suite instance, the user needs to find the script under the XSD folder and run the same against the target instance.
For business event inbound retry to work properly with Adapter for Oracle Applications in this release, users need to use the older retry property names retryMaxCount
and retryInterval
in place of the new jca retry properties jca.retry.count
and jca.retry.interval
.
All retried instances of Adapter for Oracle Applications share the same ECID. The ECID of the original instance also does not match the ECIDs of the corresponding retried instances.
When multiple applications database connections are created in Oracle JDeveloper, if a user selects one database connection in the Adapter Configuration Wizard and clicks the Next button, but then realizes that a different database connection should have been chosen, instead of clicking the Back button to reselect a new database connection, he or she has to cancel the Wizard and restart the process. Clicking the Back button and reselecting a different database connection will not work in this release.
In case of an occurrence of a fault when a composite fails to process a message, the rejected message will not be handled appropriately by Adapter for Oracle Applications in this release.
When trying to create a new business event Partner Link with Oracle E-Business Suite Release 11.5.9, the associated event subscription is also created with the values for Rule Function and Out Agent as blank. As a result, the subscription will not be executed when the business event is raised.
The workaround is to manually edit the subscription by adding the value WF_RULE.DEFAULT_RULE
as the Rule Function and WF_BPEL_QAGENT<system_name>
as the Out Agent.
There are no known configuration issues at this time.
This section describes documentation errata. It includes the following topic:
Section 21.3.1, "Incorrect Information in Retryable Exceptions for Outbound Interaction"
Section 21.3.2, "The DBActivationSpec Property Undying Is Always True in 11g"
Section 2.10.2.1.1, "Retryable Exceptions for Outbound Interaction" in Chapter Adapter Life-Cycle Management includes the following information, which is not true for outbound interactions:
Note that reply activity failure retries are one less than the jca.retry.count value that you specify. For example, if the jca.retry.count is 5, then you would expect the adapter to retry six times ((1 try plus 5 retries). However, it retries only four times, and you see only 5 instances in the Oracle Enterprise Manager Console.
Section 9.3.6.2, "Undying" in Chapter Oracle JCA Adapter for Database states that the new Undying property is supported. Instead, Undying is now always true, so the configuration property has been removed.