Known Issues for JDeveloper and ADF 11g 184.108.40.206.0 (PS2)
last updated: 26-APR-10
This document lists known issues for this release. As new issues arise, they will be added to this document.
We welcome and encourage your feedback. Your input helps us make the product better. Please use the JDeveloper community discussion forum on OTN for questions and answers, as well as to let us know what you think!
Please read the installation guide for details on system requirements and specific installation instructions for various platforms.
For internal use, JDeveloper may sometimes insert emeacache.uk.oracle.com as the proxy server. This setting should only happen temporarily and only for internal users. However, there have been some reports of external customers also seeing this proxy setting which can lead to errors during deployment outside the Oracle network. The workaround is to remove (or fix) the proxy settings in Tools > Preferences, Web Browsers and Proxy.
After migrating IDE settings from a previous version of JDeveloper, the Tab Size setting in Tools > Preferences, Code Editor, Code Style is ignored.
The Windows .bat scripts for managing WLS do not work if environment variables such as JAVA_HOME or CLASSPATH contain a ')'. The former happens when e.g. the 32bit JDK is installed in its default path, e.g. "C:\Program Files (x86)\Java\jdk1.6.0_18". The latter if an application such as Apple QuickTime adds itself to the CLASSPATH environment variable.
When trying to run the integrated WLS you will get an error while starting that instance, stating that
"\Java\jdk1.6.0_18 was unexpected at this time."
The integrated WLS will not start as a result of that.
This also happens if the scripts are being run manually on command prompt.
Workaround is to install the JDK and programs such as Apple QuickTime in a path without ')'.
You can only create database objects (tables, columns, etc) in Oracle Lite. You cannot drop or update database objects,
unless the update is to create an object. This is because of current limitations in the Type 2 and Type 4 drivers for Oracle Lite.
You cannot perform any CRUD operations using SQL Worksheet for Oracle Lite databases. This is because of current limitations in the Type 2 and Type 4 drivers for Oracle Lite.
When you create a connection to Apache Derby, the default schema is not initialized for database diagrams. This means that when you try to create a database object such as a table on a database diagram for a Derby database, the table is not created.
The workaround is to:
JDeveloper does not support the following Oracle Database 11g Release 2 features:
If the object name or schema name contains the string IS or AS, the generated SQL is corrupt.
The workaround is to avoid using IS or AS in the object name or schema name, or to change the case of the string IS or AS. For example, use one of "is", "Is", or "iS".
When upgrading a JAX-RPC Web service developed using JDeveloper from Oracle Containers for J2EE (OC4J) to Oracle WebLogic Server 10.3.x, the following warning may be displayed. This warning is displayed when the OC4J Web service contains whitespace or carriage return characters within the code. This warning can be ignored.
WARNING: A Text node was set to a value that is all whitespace. The DOM will be out of sync with the Text Buffer. The Text Node on reparse will also be removed from the DOM.
When testing Web services in JDeveloper, if you have a schema with nested levels of complex type and the nested type is an array, the generated test SOAP message may use the outermost namespace in the inner nested type instead of the actual namespace of the child element.
<ns1:outermost> <ns2:nested1> <ns2:nested2>....</ns2:nested2> <ns2:nested2>....</ns2:nested2> </ns2:nested1> </ns1:outermost>
Instead of the correct ns2:nested2 namespace, the SOAP message is being generated ns1:nested2 namespace, as shown below:
<ns1:outermost> <ns2:nested1> <ns1:nested2>....</ns1:nested2> <ns1:nested2>....</ns1:nested2> </ns2:nested1> </ns1:outermost>
As a workaround, manually correct the inner ns1:nested2 references to ns2:nested2 in XML format before testing.
Unless they are operating on the same schema avoid creating multiple top-down web services in the same project as each successive top-down service may overwrite the ObjectFactory class created by the previous one if generated into the same package.
When calling conversational web services from HTTP Analyzer, the request message headers for the 'continue' methods need to be manually updated with the conversation id that is specific to that particular conversation. This value is available from the response SOAP message of the method that starts the conversation.
From the response message of the conversation start method, copy the xml tags similar to the one below:
From the HTTP Content tab in HTTP Analyzer, insert the above tags within the header element of the SOAP request message, as below:
- other header elements ->
- message data details ->
Because of the OC4J proprietary nature of some of the properties set on web services that were created with previous JDeveloper releases (which supported OC4J), it is likely that there will be problems when attempting to deploy and run such services on WLS (including the integrated WLS that is bound with JDeveloper). Known problems include JAX_RPC services that have annotations, stateful services, DIME encoding, OWSM Policy (both 10.1.3 and 11 styles including WS-Security and WS-Reliability).
When using JAX-RPC web services deployed to weblogic using the generators in JDeveloper you may have trouble with method signatures that contain "bare" array types. For example: public class Hello
These will either not deploy or when deployed will not work properly with errors complaining about mapping issues. There are a few workarounds for this problem:
It is not possible to successfully invoke a JAX-RPC style conversational (stateful) web service deployed in weblogic server from a JAX-WS style proxy client. The design time JAX-WS proxy creation does not currently warn the user if the supplied WSDL document contains conversational behavior advertisement. Even though the tool leads to a successful generation of JAX-WS client artifacts, invoking the service from this client results in a SOAPFaultException. Only the conversation 'start' methods will get executed successfully. Invoking any other conversational methods after a conversation 'start' method will result in error.
The workaround is to use a JAX-RPC style proxy client to call a stateful service deployed in the weblogic server.
The BPEL server included in 10.1.3 SOA only knows how to use the '2003 draft version of the WS-Addressing specification. The JAX-WS async client will be default generate a client that by modifying the WS_ADDR_VER constants to support either the final '2005 or the member submission '2004 version of the specification. To support the '2003 version the user will need to make some minor modification to the code in order to invoke the process properly.
In the callback handler you need fix the code that requests the relatesToHeader as shown here:
// HeaderList ...
//Header relatesToheader = headerList.get(WS_ADDR_VER.relatesToTag, true);
//String relatesToMessageId = ralatesToheader.getStringContent();
String relatesToMessageId = RelatesTo.getValue();
This uses the header which get automatically bound to a method parameter. Now the BPEL service explicitly defines both the ReplyTo and MessageID headers in the WSDL so the default proxy generator will map these to method parameters. Assuming that you accept this default you need to pass both the replyTo address and the message ID in as parameters to the method rather than as header as you will see in the generated code. The only exception for this is the WS-Addressing action header which if it is required should be set using the '2003 namespace. Here is an example that invokes a loan process that has the required edits.
americanLoan = new AmericanLoan();
LoanService loanService = americanLoan.getLoanServicePort();
// prepare Message Id
AttributedURI messageId = new AttributedURI();
messageId.setValue( "uuid:" + UUID.randomUUID() );
// prepare ReplyTo
AttributedURI address = new AttributedURI();
EndpointReferenceType replyTo = new EndpointReferenceType();
replyTo.setAddress( address );
// prepare action header
WSBindingProvider wsbp = (WSBindingProvider)loanService;
new QName( "http://schemas.xmlsoap.org/ws/2003/03/addressing", "Action" ),
// Prepare payload
LoanApplicationType payload = ...
// Invoke service with replyTo and messageID parameter
loanService.initiate(lt, replyTo, messageId);
When displaying implied hyper links in the content view of the HTTP Analyzer you will see that on the Windows platform for every line you are down the document the links are offset by one character. This is no current workaround for this issue.
Excel validation does not get applied to the placeholder row in an ADF Table component that contains data. (bug 7509432)
At this point, an unhandled exception occurs.
To resolve the situation, dismiss the error dialog and remove the filter from the table. Then, click the Stop button again to return to design-time mode.
Microsoft Excel prompts an end user to save an Excel workbook that has been configured with Oracle ADF functionality (an integrated Excel workbook) even if the user has not modified the Excel workbook after opening it. (bug 6148067)
This behavior is expected because Oracle ADF Desktop Integration modifies an integrated Excel workbook each time a user opens it.
Microsoft Excel does not invoke the "before right click" event when a user invokes a context menu from a keyboard. Users should use either the keyboard or the mouse's right-click button to invoke a cell's context menu. Do not use both in the same user session. This behavior occurs at design time and runtime in integrated Excel workbooks. (bug 7511508)
Summary: Excel disables ADFdi Button components in integrated worksheets when "zoom" is set to any value other than 100%.
Workaround: Set Excel's Zoom level to 100% so that ADF Button components can function correctly in integrated Excel workbooks. (bug 8305907)
Note: Workbook developers can avoid this issue by using worksheet menu items instead of buttons.
Oracle ADF Desktop Integration does not support the conditional formatting features provided in Excel by clicking Home > Conditional Formatting.
Workaround: Use Excel named styles in combination with ADFdi expressions in the component's style properties
Users may encounter unexpected reports of errors under certain circumstances during the Upload operation for an ADF Table component. The Upload operation processes rows in batches. After posting changes from a batch, ADFdi executes the action specified by the CommitBatchActionID. Errors that occur during the commit action may continue to be reported on subsequent batch commit actions, even though those batches of records do not contain the error. (bug 8262587)
Cause: any pending model changes that exist when the CommitBatchActionID gets called are not automatically reverted when commit fails.
Workaround: Create a custom action for the CommitBatchActionID that first attempts to commit the pending model changes. However, if an exception occurs during commit, the custom method should first rollback the pending model changes, so that any subsequent batch commit attempts can succeed. Note: it is important that the commit exception gets re-thrown after rollback so that the commit error(s) will get reported as expected on the client.
Summary: ADFdi does not support variables in the page definition declared with the syntax of variableUsage. (bug 6377073)
If the developer creates variableUsage in the ADFdi-related page definition, it will produce NullPointerExceptions in the server at runtime.
Instead create variables using the <variable> element in the page definition.
The property inspector and expression builder features in the ADFdi Designer are driven off of the saved component metadata. As a result, there are some
known issues when dealing with new objects or values. In each case, the work-around is to save the object and then re-open.
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
The remote certificate is invalid according to the validation procedure.
Solution: View the certificate and install it.Known issues involving workbook download
There are several related scenarios that produce the following unexpected error message:
Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateCustomizationDomainException: Customization does not have the permissions required to create an application domain. ---> System.Security.SecurityException: Customized functionality in this program will not work because the location of <url> is not in the Office Trusted Locations list, or all trusted locations are disabled. Contact your administrator for further assistance.
Date and number formatting (convertDateTime, inputDate, etc.) do not work with the 17 new locales added in JDK1.6. Locales supported in JDK 1.5 do not have this issue.
The profiler file logger can be used only in a non-portal environment on FF and IE browsers with at least 1.5._06 JRE on the client box and privilege to write to the user home directory. The resulting file format is subject to change without any notice and not intended to be used with any xml parser tool. In order to use the feature, the user has to accept the certificate.
Application developers must be cautious when assigning access keys to menus. Hot keys may be intercepted by various browsers or even the operating system. One such hotkey, ALT-D, will send focus to the address bar in both IE and FireFox 2. For this hotkey, we have removed the references in our demos. But many more hotkeys may be restricted so it is a good idea to try them out on all of your supported browsers.
ADF Faces components expect applications to use primary keys on the model which are pre-populated for new records and do not change with any record updates.
The Application View Cache won't work for any page where the rendering of the component tree causes the structure of the component tree to change temporarily. Since this is often the case and the application developer has no way of telling when this will occur, USE_APPLICATION_VIEW_CACHE should never be used. It also only helps initial render performance and does not help the session size.
New Window Detection logic only works in Rich Client applications, but not in Trinidad applications For Trinidad applications, the following parameter should be added in web.xml to disable New Window Detection logic.
<context-param> <param-name>oracle.adf.view.rich.newWindowDetect.OPTIONS</param-name> <param-value>off</param-value> </context-param>
The table component has some known issues in emailable page mode.
ADF Faces components do not support persisting customization changes to MDS if the component is contained inside of (anywhere in the subtree of) AF:forEach or AF:iterator tags. This limitation is because, while such structure results in multiple component copies in the view tree, they have a single representation in the jsp documents.
Because of a limitation in the IE userData persistence behavior, the userActivity data for previous requests may be partially or sometimes completely unavailable when accessed from pages with a different URL than when it was originally saved.
If af:SelectBooleanCheckbox is used, the component needs to have partialTriggers on all buttons of the component's form.
ADF Faces users can typically produce accessible table content by specifying column headers for every column in their AF:table. However, in certain complex cases, such as when the AF:table contains total or subtotal rows, the cell containing the labels for these rows may be inappropriately associated with the containing column's column header. For example, assuming a column contains employee names and has the header text "Employee Name", a cell containing the text "Total" will be inappropriately identified to screen reader users as being an "Employee Name". In order to avoid confusion, such cells should not be associated with any column header. ADF Faces does not provide any mechanism for suppressing column headers for such cells.
When interacting with an AF:table, AF:tree, or AF:treeTable, using the up/down arrow keys to change the selection can result in a round trip to the server. ADF Faces already optimizes to reduce the number of round-trips by only sending a single request at a time, and also by dropping requests for intermediate selection states that occur while a request is outstanding. However, in some cases keyboard users may find the current behavior inefficient, since a request is sent to the server as soon as the request queue frees up. Ideally, no request would be sent until after the user has reached the item that they intend to select - ie. until after the user has paused keyboard activity for some short period of time.
Currently read-only input components, such as AF:inputText, are rendered by ADF Faces as plain text. As such, there is a loss of information that may be meaningful to screen reader users - ie. screen reader users have no way to determine that the text in question corresponds to a input control. In addition, since plain text content is not included in the tab navigation order, screen reader users may fail to recognize that this read-only content is present on the page.
When disabling row selection in the AF:treeTable by setting the rowSelection attribute to "none", the resulting AF:treeTable content is not keyboard navigable. In particular, it is not possible to use the keyboard to navigate to and expand/collapse nodes in the AF:treeTable. This issue can be avoided by not disabling row selection for this component.
There is a known limitation for Automatic Partial Page Rendering support on components which are associated with actions, examples are buttons, hyperlinks. This limitation occurs when the binding associated with the component is recreated, which should happen very rarely, e.g. dynamic form, dynamice region, DT@RT. There are two types of workaround that can be applied:
In current releases of Oracle JDeveloper 11g R1, the adf-config.properties file and the .adf\META-INF\services directory don't exist by default. Developers who wish to use active data service (ADS) in the user interface project need to create the file and the directory manually. The ads-config.properties file is needed for ADFShare MBean to parse ADS related configuration setup in the adf-config.xml file.
To create the ads-config.properties file, select the user interface project and choose File | New from the Oracle JDeveloper menu. In the General category, select File and click OK. In the Create File dialog, enter adf-config.properties as the file name. In the Directory field, browse to the .adf\META-INF\ directory and append services to the path to create the folder that will contain the adf-config.properties file. For example, the directory path in the dialog might look like this C:\JDeveloper\mywork\MyApplication\.adf\META-INF\services. Click OK to close the dialog. In the Application Navigator, expand the ADF META-INF node and the new services node, and then double-click the adf-config.properties file. In the editor, add the following line to the contents of the file and save it.
/Add the value as a single string with no line breaks.
When you want to access an ADF Business Components web service in a consuming application (the client application) or when you want to test the service using a Java test client in the same application as the service, you must ensure that the correct libraries appear on the project's classpath. In the Application Navigator, double-click the project and in the Project Properties dialog, select Libraries and Classpath and confirm the following libraries appear in this order:
Note that JAX-WS Client library must appear last in the list to ensure Oracle's implementation of javax.xml.ws.spi.Provider is found. If Oracle's implementation is not used (defaults to Sun's implementation), a runtime service exception error will result.
Web applications using getUserPrincipalName() from ApplicationModuleImpl or SessionImpl may get 'anonymous' after user already logged in.
1) Use ADFContext.getCurrent().getSecurityContext().getUserName() instead.
2) If issue is on history column only, then entities with history column kinds Created By and Modified By should override getHistoryContextForAttribute() in the entity impl class as follow:
If entity has ‘Created By” or ‘Modified By” history columns, then override getHistoryContextForAttribute(AttributeDefImpl attr) in the entity impl class that has history column(s) as follows:
At design time, the Data Controls panel shows a single representation of a particular data control per working set (for example, a business components application module). Therefore, only one model project can customize a given data control (for example, application module or DCX control). If you want to add the same ADF library JAR to multiple projects (including non-model projects) and then customize the ADF library JAR, it is recommended that you change the ADFLibraryCustomizations directory for each project to a location that is shared by all projects.
To change the ADFLibraryCustomizations directory:
Note that any ADF library customizations that were implemented prior to changing the ADFLibraryCustomizations directory will remain in their previous project-specific locations. They are not automatically migrated to the new location when you change the directory specification. You must manually copy any pre-existing ADF library customization metadata files to the new location.
Additionally, if you change the ADFLibraryCustomizations directory after you created a MAR profile, you must also change the corresponding entry in the contributors list on the Metadata file group page of the Edit MAR Deployment Profile Properties dialog before packaging. Alternatively, you can re-create the MAR profile to pick up this change.
When packaging an ADF application using JDeveloper, MDS creates an auto-MAR and includes default metadata (such as customizations), when either of the following conditions are met.
< . . . > <persistence-config> <metadata-namespaces> <namespace path="/oracle/apps" metadata-store-usage="repos1"/> </metadata-namespaces> <metadata-store-usages> <metadata-store-usage id="repos1" deploy-target="true"> . . . </metadata-store-usage> </metadata-store-usages> </persistence-config> < . . . >
When you create a mobile browser JSF page (by checking "Render for Mobile" check box when creating JSF page), the default component set selected in the Component Palette is typically not "Trinidad". It may be JSF or even ADF Faces. Do not use JSF or ADF Faces, but always select "Trinidad" or "Data Visualization Core" component set.
A Developer Preview version of Oracle ADF Mobile client is available as a separate download from the JDeveloper Update Center (Help > Check for Updates). For a list of known issues for ADF Mobile Client, please refer to the ADF Mobile Client Release Notes.
Copyright © 1997,2009, Oracle and/or its affiliates. All rights reserved.