Skip Headers
Oracle® Application Server Release Notes
10g Release 3 (10.1.3.2) for Solaris Operating System (SPARC 64-Bit)

Part Number B32421-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

7 Oracle JDeveloper

This chapter describes issues associated with Oracle JDeveloper. It includes the following topics:

7.1 Introduction

For additional information not available at the time of this document's publication. Please review the Oracle JDeveloper (10.1.3.1.0) Release Notes Addendum at http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.1/index.html

For more information and technical resources for JDeveloper, visit the JDeveloper product center on the Oracle Technology Network at http://www.oracle.com/technology/products/jdev/101.

7.2 General IDE Issues and Workarounds

This section describes general IDE issues and workarounds. It includes the following topic:

7.2.1 Incompatibility Between Internal CVS Client and CVSNT Server

In some cases binary files can become corrupted when using JDeveloper's internal CVS client against a CVSNT server. The workaround is to use CVSNT's client within JDeveloper. This can be configured on the Versioning | CVS panel of IDE preferences.

7.3 Deployment Issues and Workarounds

This section describes general deployment issues and workarounds. It includes the following topic:

7.3.1 EJB Web Service Fails to Deploy to JDeveloper's Embedded Server

JDeveloper may exceed the length of the path names permitted by Windows when you compile an EJB session bean with a web service annotation. The path name JDeveloper generates for the web service class file is concatenated from three elements: the path to the application-deployment folders (set by system and not editable), the path to the web service source folder (also set by system), and the path to the class file specified by its package name (set by user and must be as short as possible).

For example, the following path would be created for a web service class file, where the user-specified portion of the path name is based on the package name com.oracle.myapp.ejb.webservice.test.

<JDev_Install>jdev\system\oracle.j2ee.10.1.3.37.58\embedded-oc4j
\application-deployments\\current-workspace-app
\MyApplication_MyProject\ws-src\com\oracle\myapp\ejb\webservice\test

and results in the exception:

oracle.j2ee.ws.common.tools.api.SeiValidationException: Interface
<classname>.SessionEJBBeanPortType: The class could not be loaded
from the class path.

You can workaround this limitation by shortening the name of the package you enter when you create the EJB session bean. For example, instead of com.oracle.myapp.ejb.webservice.test, as shown in the above example, the package name com.oracle.myapp will result in a legal class path length.

7.3.2 ADF Web Application with Ejb3 Model Project Dependency Fails to Deploy

When you deploy an ADF web application WAR file to Standalone OC4J you may encounter the following error due to multiple persistence unit definitions resulting from an EJB3 model project dependency:

DeployerRunnable.run[application1:ejb3_mdnav_adffaces] - Multiple persistence units with name "model" are defined at the same scope.oracle.oc4j.admin.internal.DeployerException: [application1:ejb3_mdnav_adffaces] - Multiple persistence units with name "model" are defined at the same scope.

To avoid this error, update the ViewController project settings to remove the dependency on the Model project before deploying the ADF Web application to Standalone OC4J.

7.3.3 Deploying JDeveloper Deployment Profiles to Archive Files on the File System

When deploying JDeveloper deployment profiles to an archive file the default behavior is to deploy the archive as standard J2EE. In order to deploy an archive to a file for a specific application server platform to incorporate platform specific descriptor handling, the user must set the Target Connection in the Deployment Profiles - Platform page. The Target Connection can only be set to something other than the default (J2EE) after creating an application server connection in the connection navigator.

7.4 Database Issues and Workarounds

This section describes database issues and workarounds. It includes the following topic:

7.4.1 Entity Created Only for First Table in Entity Beans from Tables in Oracle Lite

Oracle Lite version 10.2.0.2 does not support standard JDBC metadata for column definitions, resulting in an inability to create EJB entities. Oracle expects this to be fixed in Oracle Lite 10.2.0.3.

7.5 Modeling Issues and Workarounds

This section describes modeling issues and workarounds. It includes the following topic:

7.5.1 Refactoring Context Menu and UML

From the Application Navigator context menu, the refactoring submenu is visible for navigator packages containing UML artifacts. However, refactoring the package will NOT cause UML artifact to be refactored, though Java and other types will be refactored as expected.

7.5.2 Java Modeler Accessibility

The Java Modeler's popup code editor is not currently accessible when using the JAWS screen reader. The workaround is to invoke Go To Source instead of Edit for Java elements on the diagram, which will invoke the main code editor.

7.6 Toplink Issues and Workarounds

This section describes Toplink issues and their workarounds. It includes the following topics:

7.6.1 Importing Tables with Multibyte Characters

When importing database tables named with multibyte characters, you must change the JDeveloper encoding to UTF-8.

  1. Select Tools > Preferences > Environment.

  2. Change Encoding to UTF-8.

  3. Restart JDeveloper, then import the tables.

7.7 EJB Issues and Workarounds

This section describes EJB issues and their workarounds. It includes the following topics:

7.7.1 EJB 3.0 Application Migration Issue (10.1.3 to 10.1.3.1)

In 10.1.3.1 the life span of an entity's Persistence Context is strictly tied to the life span of its associated transaction, since by default, a PersistenceContext's type is PersistenceContextType.TRANSACTION.

This requirement was relaxed in JDeveloper 10.1.3, and some applications were found to be dependent on this requirement not being met.

To operate under the stricter requirement in JDeveloper 10.1.3.1, EJB 3.0 Stateless Session beans migrated from JDeveloper 10.1.3 and interacting with web clients may need to be changed to Stateful Session beans.

In addition to this change, the generated statement:

@Resource
EntityManager em;

should be changed to:

@PersistenceContext(type=PersistenceContextType.EXTENDED)EntityManager em;

to allow web clients to perform additional operations on entities returned from the (newly Stateful) Session bean.

7.7.2 Running EJB 3.0 Applications

EJB 3.0 runtime is different between JDeveloper 10.1.3 and JDeveloper 10.1.3.1. An EJB 3.0 application that was created in JDeveloper 10.1.3 will only work with Oracle Application Server 10.1.3, and an EJB 3.0 application created in JDeveloper 10.1.3.1 will only work with Oracle Application Server (SOA) 10.1.3.1.

You can migrate EJB 3.0 applications from JDeveloper 10.1.3 to JDeveloper 10.1.3.1 by following the instructions in the online help topic Migrating EJB 3.0 Applications from Oracle JDeveloper 10g Release 10.1.3 to 10.1.3.1 by selecting Getting Started with Oracle JDeveloper > Migrating to Oracle JDeveloper 10g.

7.8 Web Services Issues and Workarounds

This section describes Web Services issues and their workarounds. It includes the following topics:

7.8.1 Top-Down SOAP 1.2 Services Changed to SOAP 1.1 after Editing

If you create a web service top-down from a WSDL that contains SOAP 1.2 bindings, then modify that service in the web service editor, the bindings are changed to SOAP 1.1.

The workaround is in the Web Services Editor dialog, manually deselect SOAP 1.1 Binding and select SOAP 1.2 Binding instead.

7.8.2 Top-Down Service with One-Way Operations Changed to Two-Way Methods after Editing

If you create a top-down web service that has one-way operations, then use the Web Service Editor to change the service or invoke Regenerate Web Service from Source, the one-way operations are changed to two-way operations.

The workaround is in the Web Services Editor dialog, manually select the Create One-Way Operations From Void Methods checkbox.

7.8.3 Top-down Web Services Generated with Enumerated Types Fail Validation

When you generate a top-down web service a WSDL with enumerated types, subsequent changes made to the service in the Web Service Editor cannot be committed due to an error in validation.

7.8.4 Deleting InitParam or Header in a Web Service Handler Causes an Error

If you have created a web service handler that uses an InitParam and/or a Header, and you subsequently edit the handler to remove the InitParam or the Header, JDeveloper displays an error message.

The workaround is to remove the handler, then recreate it without the initial parameter.

7.8.5 Web Service Proxy Fails when Running with Reliability Settings

When you run a proxy to a web service that has reliability enabled, you may find that it fails, and on examination with the HTTP Analyzer the SOAP message returned from the server has an empty body. This can occur because the default value of Expiry Time on the Operation Settings tab of the Proxy Reliability wizard.

The workaround is to increase the expiry time to 2 seconds or more.

7.8.6 'Invoke' Button Not Present in Enterprise Manager for Testing EJB3.0 Web Service on External OC4J

If you deploy an EJB3.0 web service to external OC4J, and try to test it from Oracle Enterprise Manager, the Invoke button is not always present.

There is no workaround.

7.8.7 Invalid Web Service Endpoint in Generated Proxy for Multi-Port WSDLs

When you create a proxy to a web service with more than one port, the proxy may be generated with an invalid endpoint for the web service.

The workaround is to examine the WSDL to find the correct endpoint URL, and paste this into the generated proxy class.

7.8.8 Runtime Exception when More than One Web Service Exists in a Project

If you create two or more web services in a project that use the same mapping file, you will get a runtime exception.

The workaround is:

  • For bottom-up web service generation, specify a serviceName argument value that does not already exist for the second web service.

  • For top-down web service generation, make sure the web services are each in a different WAR for deployment so that the same deployment descriptor is not used.

7.9 JavaServer Faces (JSF) Issues

This section describes JavaServer Faces issues and workarounds. It includes the following topic:

7.9.1 In JSF 1.1_02 Pages under /WEB-INF Fail to Load

JDeveloper 10.1.3.1 upgrades to the JavaServer Faces reference implementation version 1.1_02. This maintenance release of the JSF runtime from Sun introduces a new restriction preventing the processing of any JSF page located in the ./WEB-INF directory (or subdirectory thereof). If your JSF applications contain pages in the WEB-INF directory, you will need to move those pages to another directory under the web root other than WEB-INF for them to function correctly. If your JSF pages use ADF Model data binding, after moving the JSP/JSPX pages from ./WEB-INF (or subdirectory) to a new directory under your web root, you will need to reflect the change in the "path" value inside the <pageMap> section of your DataBindings.cpx file. For example, if your page previously had a "path" value of /WEB-INF/page/Test.jspx and you moved this Test.jspx page to ./public_html/page/Test.jspx, where ./public_html is the HTML root directory of your view controller project -- then you must edit the value of the path and change it from /WEB-INF/page/Test.jspx to /page/Test.jspx.

7.10 Miscellaneous Issues and Workarounds

This section describes documentation errata. It includes the following topic:

7.10.1 Using JAZNMigrationTool with JDeveloper

The JAZNMigrationTool provides a way to migrate the contents of one store to another that can then be loaded to the LDAP directory. The command to be used is:

java JAZNMigrationTool -D binddn -w passwd [-h ldaphost] [-p ldapport]
[-sf filename] [-df LDIF_filename]
[-sr source_realm] [-dr dest_realm]
[-m policy|realm|all] 
[-help]

Below is an example of migrating all users, roles, and JAAS policies from embedded-oc4j\config\system-jazn-data.xml to j2ee\home\config\system-jazn-data.xml

set CLASSPATH=JDEV_HOME\j2ee\home\jazn.jar;%CLASSPATH%JDEV_HOME\jdk\bin\Java oracle.security.jazn.tools.JAZNMigrationTool -w welcome -sf JDEV_HOME\jdev\system\oracle.j2ee.xxxx\embedded-oc4j\config\system-jazn-data.xml -df JDEV_HOME\j2ee\home\config\system-jazn-data.xml -dt xml

Note that JDEV_HOME should be the directory where they install JDeveloper. XXXX represents the final build number.

For more information issue Java JAZNMigrationTool -help.

7.10.2 Running ADF Installer against Application Server 10.1.2 Instance

When running the ADF installer within JDeveloper (Tools | ADF Installer) against an Oracle Application Server 10.1.2 instance, you may encounter the error Cannot finish the installation even if the server is shut down. In addition to stopping the Application Server instance, you must also shut down the Application Server Control Manager (Enterprise Manager) service before running the ADF Installer against the Oracle Application Server 10.1.2 instance.

7.10.3 Restore Option Does Not Restore bc4j.ear

Use of the restore facility does not redeploy bc4j.ear to the Oracle Application Server 10.1.3.0.0. This should not affect functionality, as datatags.ear is the same as bc4j.ear. However, if required, bc4j.ear must be manually deployed using the Enterprise Manager console.