Skip Headers

Oracle® Developer Suite Release Notes 10g (9.0.4) for Windows, Linux, Solaris, and HP-UX Part No. B10668-03 |
| Library | Contents | Index

# 5 Oracle9i JDeveloper

This chapter discusses the following Oracle9i JDeveloper topics:

- Section 5.1, "General Issues and Workarounds"

- Section 5.2, "Platform-specific Issues and Workarounds"

  - Section 5.2.1, "Windows Platform Issues and Workarounds"

  - Section 5.2.2, "Linux, Solaris, and HP-UX Platform Issues and Workarounds"

- Section 5.3, "Configuration Issues and Workarounds"

- Section 5.4, "Administration Issues and Workarounds"

- Section 5.5, "Documentation Errata"

## 5.1 General Issues and Workarounds

### 5.1.1 Introduction

Oracle9i JDeveloper (JDeveloper) is a J2EE development environment with end-to-end support for developing, debugging, and deploying e-business applications and web services.

To maximize developer productivity, JDeveloper provides a comprehensive set of integrated tools to support the complete development lifecycle, from source control, modeling, and coding through debugging, testing, profiling, and deploying. JDeveloper simplifies J2EE development by providing wizards, editors, visual design tools, and deployment tools to create high-quality, standard J2EE components including applets, JavaBeans, JavaServer Pages (JSP), servlets, and Enterprise JavaBeans (EJB). JDeveloper also provides a public Extension SDK to extend and customize the development environment and to seamlessly integrate with external products.

For more information about this release, please visit the JDeveloper page on the Oracle Technology Network at `http://otn.oracle.com/products/jdev`. You will also find there the Oracle9i JDeveloper Version 9.0.4 Release Notes Addendum (`http://otn.oracle.com/products/jdev/htdocs/9.0.4.0/readme_9.0.4_addendum.htm`) which contains additional information not available at the time of this document's publication

To simplify the development of scalable, high-performance J2EE applications, JDeveloper offers an open and extensible J2EE framework called Business Components for Java (BC4J). BC4J implements Sun's J2EE design patterns and allows developers to quickly build sophisticated J2EE applications.

#### 5.1.1.1 Support for Oracle9i Release 2 (9.2)

Oracle9i JDeveloper version 9.0.4 is distributed with drivers for Oracle9i Release 1. These drivers are compatible with the following database versions:

- Oracle9i Release 2 (9.2)

- Oracle9i Release 1 (9.0.1)

- Oracle8i (8.1.7)

Drivers for Oracle9i Release 2 can be installed in JDeveloper version 9.0.4, but are not supported.

### 5.1.2 Deploying to OC4J

#### 5.1.2.1 OC4J Version Shipped with Oracle JDeveloper 9.0.4

By default, Oracle9i JDeveloper Version 9.0.4 lets you fully test your J2EE applications in JDeveloper using the embedded OC4J server before deploying to a target application server. The OC4J 9.0.4 embedded server resides in the following location in JDeveloper:

- Windows single-user: `oracle_home``\jdev\system####\oc4j-config`

- Linux, Solaris, and HP-UX, and multi-user: `oracle_home/``jdev_user_dir/jdev/system####/oc4j-config`

JDeveloper also ships a copy of OC4J 9.0.4, which you can run in standalone mode. The files for the OC4J 9.0.4 standalone server are located in

`oracle_home``/j2ee/home`

Related files can be found in

`oracle_home``/j2ee/home/config`

If you deploy your applications to standalone OC4J, make sure that you use the remote `admin.jar` file that was shipped with the remote OC4J. If you are using an `admin.jar` that doesn't match the version of OC4J to which you are deploying, deployment may fail. You can configure deployment to use the correct `admin.jar` for the OC4J standalone instance when you set up your connection using the JDeveloper Application Server Connection Wizard.

To view the version of OC4J that you are using, enter the following from your OC4J installation directory:

`java -jar oc4j.jar -version`

#### 5.1.2.2 OC4J Memory Requirements

By default, OC4J preloads a large number of classes to improve performance. Because of this, you may get a `java.lang.OutOfMemoryError` when you attempt to deploy to OC4J.

If you get a `java.lang.OutOfMemoryError`, you have two options:

- If your computer lacks sufficient free memory to run OC4J with a larger maximum heap size, shut down the Java process that runs OC4J and restart it with the `-Doracle.j2ee.dont.use.memory.archive=true` flag to turn off class preloading, for example:

  `Java -Doracle.j2ee.dont.use.memory.archive=true -jar oc4j.jar`

- If your computer has at least 512 MB of free memory, OC4J will run more quickly if you leave preloading enabled, but startup time will increase considerably. Shut down the Java process that runs OC4J, and restart it with a larger maximum heap size using the `-mx` flag, for example:

  `Java -mx512M -jar oc4j.jar`

### 5.1.3 Deploying to Other Application Servers

#### 5.1.3.1 Problems Running UIX Web Applications (including the BC4J JSP Admin Page) Deployed to Non-Oracle Application Servers (2577293)

You may get the following error when running a UIX web application deployed to a non-Oracle application server, or clicking the BC4J Admin link on a BC4J JSP application deployed to a non-Oracle application server:

    [INFO] RequestProcessor - -Processing a 'GET' for Path...
    Root cause of ServletException
    java.lang.NullPointerException...

To avoid this error, you must make changes to the `uix-config.xml` file.

If you are running a BC4J JSP application with an Admin page, make the change on the server:

1. Find and unzip the `bc4j.ear` file on the server.

2. Unzip the `webapp.war` file that is extracted.

3. Open the extracted file `WEB-INF/uix-config.html` in a text editor.

4. Uncomment the `<default-configuration>` element.

5. Set the value of the `<full-uri>` element to the URL of your application server, including the port number.

6. Set the value of the `<full-path>` element to the full local path to the parent directory of the cabo directory on your application server.

   Note: Be sure to use the parent directory, not the cabo directory itself.

7. Repackage the `webapp.war` file.

8. Repackage the `bc4j.ear` file.

9. Redeploy the modified `bc4j.ear` file.

If you are running a full BC4J UIX application, make the changes inside JDeveloper:

1. In the System Navigator, find the file `uix-config.html` and open it in the Code Editor.

2. Uncomment the `<default-configuration>` element.

3. Set the value of the `<full-uri>` element to the URL of your application server, including the port number.

4. Set the value of the `<full-path>` element to the full local path to the parent directory of the cabo directory on your application server.

   Note: Be sure to use the parent directory, not the cabo directory itself.

5. Save the file and redeploy the application to the non-Oracle application server.

#### 5.1.3.2 Deploying Web Applications to Apache Tomcat 4.1

If you are deploying to Apache Tomcat 4.1, you will have to copy the BC4J runtime libraries into `tomcat_install``/common/lib`, not `tomcat_install``/lib`. See the help topic "Deploying Web Applications to Apache Tomcat" for more information.

#### 5.1.3.3 Problems in JSP Applications Deployed to Tomcat (2615358)

Due to a Tomcat bug, you may get the following error message when running a JSP application deployed to tomcat:

`Only one of the two parameters ... or ... should be defined.`

This is caused by an error in Tomcat's tag pooling mechanism. Because Tomcat does not release tags after pooling, subsequent uses of the same tag with incompatible attributes defined will cause this error.

To avoid the error, you must disable tag pooling in Tomcat:

1. Open the file `tomcat_home``/conf/web.xml` in a text editor.

2. Find the following element:

       <init-param>
         <param-name>enablePooling</param-name>
         <param-value>true</param-value>
       </init-param>

3. Change the value of `<param-value>` to `false`.

#### 5.1.3.4 XSQL Page Processor Cannot Read Pages from Unexpanded Servlet 2.2 WAR File (1552039)

You cannot run XSQL pages in WebLogic 6.1/7.0, JBoss 3.0.4, or Tomcat 4.1.12.

#### 5.1.3.5 Type Incompatibilities when Deploying to WebLogic

Some applications deployed to WebLogic may have type incompatibilities if you use the BEA supplied Oracle classes. To ensure that you don't have these problems, replace the supplied `classes12.zip` and`classes12.jar` file in your server's `lib` directory with `classes12.jar` in the `oracle_home``/jdbc/lib` directory.

#### 5.1.3.6 WebLogic6.1 Fails to Understand Windows-1252 Encoding in XML Files

WebLogic6.1 fails to understand 'Windows-1252' encoding in the xml files. This is a bug in the xmlparser in WebLogic6.1. To deploy applications in JDeveloper to WebLogic6.1 change encoding to an IANA encoding that WebLogic6.1 recognizes. It is recommended to use UTF-8 encoding. Japanese users need to use Shift_JIS:

For example, to use UTF-8 encoding, do the following:

1. In JDeveloper, choose the menu item Tools > Preferences.

2. In the Environment panel change the Encoding field to UTF-8.

3. Click OK.

Now create a new project and your application.

#### 5.1.3.7 CORBA Requires JDK 1.3 at Runtime (2685103)

Although you can develop a CORBA application for Visibroker using the JDeveloper 9.0.4 default JDK 1.4, in order to deploy or run the application, you must make sure these changes are made:

- Run the Visibroker server using JDK 1.3.

- Before deployment, configure the project to use JDK 1.3, and add these items to the Java command line, which you can do in Project > Default Settings:

      -Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
      -Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
      -Djavax.rmi.CORBA.StubClass=com.inprise.vbroker.rmi.CORBA.StubImpl
      -Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
      -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA. PortableRemoteObjectImpl

These options are only required for client JSP projects. We recommend specifying the settings in your default settings for ease of use.

### 5.1.4 Miscellaneous Deployment Issues

#### 5.1.4.1 ejb-ref in web.xml not Updated if the Bean Type is Changed from Remote to Local (2589997)

Creating a JSP application for a BC4J session facade results is an `ejb-ref` entry in the `web.xml` of the that project. If you change the interface type of that facade, from local to remote or vice versa, then you must update the `ejb-ref` entry in `web.xml`. For example if you change the bean type from remote to local then you must replace the `<ejb-ref>` section in `web.xml` with the appropriate `<ejb-local-ref>` tags.

### 5.1.5 BC4J Issues

#### 5.1.5.1 Available Tables not Visible Under Java Type Map and SQL92 SQL Flavor (2693168)

In the BC4J Package Wizard, if you are using the Java Type Map and the SQL92 SQL flavor, you may not initially see any tables in the Available Tables list. To fix this problem, uncheck and then recheck the Tables checkbox.

#### 5.1.5.2 902 Projects with VO or Attribute Names Containing $ do not Migrate (2701773)

If your BC4J project has component names or attribute names containing a "$" character, you need to rename the attributes or components and remove the "$" before migrating your project to a later release of JDeveloper. BC4J names cannot contain "$" in JDeveloper 9.0.3 and later.

#### 5.1.5.3 JDeveloper 9.0.4 *.jpr File Format Not Backward Compatible with 9.0.3 (2682921)

If you have JDeveloper projects created with a previous release, after opening these projects in JDeveloper 9.0.4 and saving the `.jpr` file in the 9.0.4 format, you no longer can re-open the same `.jpr` file in JDeveloper 9.0.3. Specifically in the case of 9.0.3 projects containing BC4J components, after saving their JPR file in the JDeveloper 9.0.4 format, any attempt to reopen them in 9.0.3 will no longer load/build the project correctly. If you are using JDeveloper 9.0.4 to test the release on an existing project, please make a backup copy of your JDeveloper 9.0.3 `.jpr` files in case you want to go back to using JDeveloper 9.0.3.

#### 5.1.5.4 Migrated Project: Export Interface is Removed but Still Implemented in IMPL Class (2676186)

This issue only applies if you have a 9.0.2 BC4J project containing an empty export interface and you want to migrate the project to a later release of JDeveloper. You would have an empty export interface if you exported client methods in an application module or view object, and then removed all methods from the export list. If you migrate this type of project to a later release of JDeveloper the empty export interface is removed but the class that implements it is not removed, causing compilation errors.

The workaround is to delete the "implements" clause (for example, "implements EmpView") from the class declaration in your class file. You can do this before or after migrating the project, although it is probably easier to do it after because the compilation errors will tell you what needs to be fixed.

#### 5.1.5.5 Bean Name in <EJB-LOCAL-REF> not Updated when Underlying Entity is Renamed (2587916)

You should not rename entity beans that have BC4J entity facades depending on them. Doing so will cause a `NullPointerException` because the deployment profile is not updated properly.

#### 5.1.5.6 Setting Current Database Time Using Entity Facades (2525437)

Entity facades (both BMP and CMP) must override `getDbCurrentTime()` in the generated `xxxFacadeCollImpl.java` to return the database current time. This is necessary because `getDbCurrentTime()` in `oracle.jbo.server.ejb.facade.EntityFacadeCollImpl` uses Java system time; the SQL flavor and connection details are not known for the entity facade.

#### 5.1.5.7 Replace qView with getRowSet in Migration Documentation (2723075)

In the migration documentation, replace qView with getRowSet.

#### 5.1.5.8 Documentation Refers to BC4J "Wizards"

The help documentation that is displayed when you click Help in one of the component editors refers to a component "wizard" when it should refer to a "wizard or editor". For example, the help text that is displayed when you click Help in the Entity Object Editor has the title "Entity Object Wizard"; the title should be "Entity Object Wizard and Editor".

#### 5.1.5.9 Unable to Run a BC4J JSP in OC4J in VB Bind Mode (2594776)

When accessing the BC4J CORBA server you need to set some properties before initializing the ORB. These properties are set internally but in this case it's too late because OC4J initializes the ORB at startup.

The workaround is to manually add the following system properties to the OC4J command line. If you are using the embedded server then add these to the VM settings of the project from which the embedded OC4J instance is started:

    -Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
    -Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
    -Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
    -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA .PortableRemoteObjectImpl

#### 5.1.5.10 Problem Running Struts Actions in 9.0.3 Project After Upgrade (2756440)

After opening a 9.0.3 JDeveloper project containing a `struts-config.xml` file and Struts Actions, if you try to select one of the actions and choose Run... from the context menu, you may get the error:

`The target /your action cannot be started because it does not exist.`

The workaround is to edit the `struts-config.xml` file in some way (for example, by adding a space somewhere, then deleting that space, and re-saving). After resaving the edited `struts-config.xml` file, then the actions can again be run.

#### 5.1.5.11 Help Sometimes Not Available for Business Component Browser

You can only access the help system from the Business Component Browser if you launch the browser by right-clicking an application module and choosing Test. If you invoke the Business Component Browser by running, debugging, or profiling your model project, help will not be available.

#### 5.1.5.12 jbo.debugoutput Property can Take Value of "file"

In addition to the documented values of "silent", "console", and "routing_classname", you can set the value of `jbo.debugoutput` to "file" to log BC4J debugging information to a text file.

### 5.1.6 EJB Issues

#### 5.1.6.1 Cannot Run EJB in Embedded OC4J Server if Workspace Has Two Projects (2096700, 2591173)

You may encounter errors if you try to run an EJB application with a CMP entity bean in JDeveloper's embedded OC4J server, if the workspace containing your application contains two or more projects. To avoid errors, make sure that the output directory path is different for the different projects to avoid a naming collision. To specify an output directory path, select a project and right click Project Settings > Configuration > Development > Paths, then specify a directory name in the Output Directory text field that is different from other projects in the same workspace.

### 5.1.7 JClient Issues

#### 5.1.7.1 JTree Binding is not Editable (2061405)

When you create a Java Tree control you can define the property EDITABLE in the property inspector. If this property is set to TRUE and you edit a node on the tree, you will receive an exception. The binding for the tree control does not support this being editable.

#### 5.1.7.2 Cannot Run JClient Applications in EJB Mode Running in Webstart 1.2 (2699458)

Due to a missing signed entry in resource `J2EE/HOME/LIB/JAAS.JAR` it is not possible to run JClient applications in EJB mode running in Webstart 1.2.

#### 5.1.7.3 Webstart not Launched in IE 5.5 Due to Mimetype Problems (2573655)

When attempting to run a JClient webstart application in Internet Explorer 5.5 using the `local.jsp` link generated by the JClient Web Start Wizard, Java Web Start does not get launched. Instead IE 5.5 will prompt you to open a file.

The workaround is to create a new mime type using `regedit` and associate it to the `.jnlp` extension. For example, in `regedit`, locate `HKEY_CLASSES_ROOT\ MIME\Database\Content_Type\application\x-java-jnlp-file;charset=ISO-8859-1` and set property `Extension` to value `.jnlp`.

#### 5.1.7.4 SpinnerNumberModel for JSpinner Control does not Work for oracle.jbo.domain.Number (2738858)

If you intend to represent an Integer field (such as Commission) using a Spinner control which should be able to "spin" through all integer values, then you would use the SpinnerNumberModel to represent the value, min value, max value and step.

However, in BC4J the default mapping for an numeric attribute is `oracle.jbo.domain.Number`. JUSpinnerBinding currently only supports the following types: `Double`, `Float`, `Long`, `Integer`, `Short` or `Byte` .

So, the underlying attribute should be mapped to `java.lang.Integer`.

### 5.1.8 Source Control Support Issues

#### 5.1.8.1 Oracle SCM: JDeveloper Does Not Share Folder Mappings with the Oracle SCM RON

If the Oracle Software Configuration Manager (SCM) Repository Object Navigator is used to download or synchronize files to the file system, JDeveloper does not recognize the downloaded files as SCM files. This is because mapping information stored by the RON is not available to JDeveloper.

To download SCM files to the file system for use in JDeveloper, use one of the following options:

- Use the Workarea Wizard in JDeveloper to create your workarea. The files in the workarea will be automatically downloaded to the workarea download folder.

- Use the Folder Mappings tool in JDeveloper to specify a workarea download folder and map folders you want to download to the file system. You can use Folder Mappings to download files in a workarea created in the RON.

#### 5.1.8.2 Oracle SCM: Using JDeveloper and the Oracle SCM VHV

After performing source control operations using JDeveloper, such as merging or checking files in or out, you should not use the VHV to perform further operations on these files.

#### 5.1.8.3 Oracle SCM: Connecting to Oracle Software Configuration Manager 6i Release 4.1.1 or Above

Oracle JDeveloper is certified to work with the Oracle Software Configuration Manager which is part of Oracle9iDS Release 2 version 9.0.2. Note that Oracle JDeveloper will not prevent you from connecting to Oracle Software Configuration Manager 6i Release 4.1.1 or above, but this is not a certified combination.

### 5.1.9 Modeling Issues: General

#### 5.1.9.1 Performing Source Control Operations On Model Element and Diagram Files (2211605)

If you store model element or diagram files in a source control system, Oracle recommends that you perform any source control operations on those files before you load them into memory. If you perform a source control operation on a model element or diagram file while it is currently held in memory, any changes to the copy of the file currently held in memory could be overwritten. To ensure that a model element or diagram file is not currently being held in memory, restart JDeveloper, then perform the source control operation before opening the model element or diagram.

#### 5.1.9.2 Exceptions on Startup if Install Directory Has a Space in Name (2709528)

If you install JDeveloper into a directory that has a space in its name, you will get exceptions on startup and will not be able to create a new UML diagram.

### 5.1.10 Modeling Issues: Modeling Java Classes, BC4J or EJB Components

#### 5.1.10.1 Deleting Modeled Java Classes (2706800)

If you delete from the Navigator a modeled Java class that has associations to other Java classes, then the associations are not removed from the model. If you then drag any of these orphaned associations onto a diagram, an exception is thrown. To prevent this, if you need to delete a modeled Java class that has associations, do so from the diagram.

### 5.1.11 Modeling Issues: Modeling Activities for E-Business Integration

#### 5.1.11.1 E-Business Integration Generator Generates Propagations Using Public Database Links (2063917)

A bug in AQ propagation (2146152) means that remote propagations fail when using private database links to specify the destination. The E-Business Integration Generator presently generates and deploys remote propagations that use public database links in order to circumvent this problem.

This bug will be fixed in later versions of the database. After applying this patch, the public database links can be manually replaced with private database links, by querying the contents of the ALL_DB_LINKS view and creating private database links in the appropriate schema, with the same details as the public links being replaced.

#### 5.1.11.2 Using HTTP Propagation on a 9.0.1 Database

If you use a 9.0.1 database and wish to use HTTP propagation, you must download and install an upgrade to the XML Developer's Kit for Java from OTN, version 9.0.2.0.0C. Instructions on how to install this upgrade into the database are provided in the download itself. The `xsu12.jar` file in the `lib` subdirectory of the download should also replace any existing version of `xsu.jar` in the classpath of the web server that runs the AQ propagation servlet.

### 5.1.12 Web Services Issues

#### 5.1.12.1 Renaming a Method on a Modeled Web Service Fails to Expose It (2702659)

When you have a modeled web service created from a modeled Java class, and you rename a method by editing the modeled web service or the modeled Java class, the renamed method will seem to vanish from the web service although the modeled Java class will display the new method name.

You have to reselect the method for publication as a web service. Double-click the modeled web service, and on the Exposed Methods page select the method and click OK.

#### 5.1.12.2 SOAP Web Service Does Not Start New Session (2218102)

When you have a SOAP web service created using JDeveloper that uses a scope of "session", it does not start a new session when accessed by a different client.

#### 5.1.12.3 Using JMS Web Services with OC4J

OC4J/JMS is not supported in Oracle9iAS 9.0.3 or OC4J 9.0.3. OJMS is the JMS interface onto Oracle AQ in the database, and it is Oracle's J2EE 1.3 compliant JMS provider.

To run a JMS web service deployed to OC4J 9.0.3 or Oracle9iAS 9.0.3, you should configure OC4J to hand over the JMS implementation to OJMS. For more information, refer to "Oracle9iAS Containers for J2EE (OC4J) - Java Message Service (JMS) - Frequently Asked Questions" on the Oracle Technology Network, `http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-JMS-FAQ.html`.

#### 5.1.12.4 Creating JMS Web Services that Use Both Send and Receive Operations

When you create a JMS web service that uses both a send and a receive operation you must explicitly specify different connection factories and destinations for the send operation and the reply-to operation, unless you are certain that the web service client wants to send to and receive from the same destination.

In Step 3 of the JMS Web Service Wizard, select Receive operation uses separate JMS destination, and enter the connection factory and the destination for the receive operation. These must be different to the connection factory and destination for the send operation.

#### 5.1.12.5 Running the PL/SQL Web Service Generator with JDK 1.4

To work properly under JDK 1.4, the PL/SQL web service generator needs to be run with Oracle's JDK 1.4-specific JDBC drivers. These can be downloaded from Oracle Technology network (`http://otn.oracle.com`). Extract them into the `oracle_home``/jdbc/lib` directory.

To configure JDeveloper to use the JDK 1.4 JDBC drivers, you must amend the oracle_home`/jdev/bin/jdev.conf` file. Replace the line

`AddJavaLibFile ../../jdbc/lib/classes12.jar`

with

`AddJavaLibFile ../../jdbc/lib/ojdbc14.jar`

JDeveloper will now use the JDK 1.4 version of the JDBC drivers, for all JDBC operations.

#### 5.1.12.6 Runtime Error Calling a Web Service from a Generated Stub (2389203)

If you receive a runtime error when calling a web service from a generated stub, and the returned value is an unrecognized XML type, you should use a command similar to the following to deserialize the XML type into a string:

`m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, new org.apache.soap.encoding.soapenc.StringDeserializer());`

#### 5.1.12.7 Cannot Model Web Services Based on PL/SQL Packages (2466833)

Modeled web services on class diagrams cannot be based on PL/SQL or JMS web services.

#### 5.1.12.8 Creating a Stub with Overloaded Methods to a .NET Web Service (2689939)

When you create a stub to a .NET web service which contains more than one method with the same name, the stub is generated with just one method present, for example:

`public Float Add(Float a, Float b) throws Exception;`

You must manually edit the stub to add the additional overloaded methods, for example:

`public Float Add(Float a, Float b) throws Exception;`

`public Integer Add(Integer a, Integer b) throws Exception;`

#### 5.1.12.9 Web Service Stub if Generated from JDeveloper Install Path has Space (3068701)

If you install JDeveloper in a path where any of the folders have a space in the name and then generate a web service which you run on the embedded OC4J server or on an external instance of the OC4J server, you will find that a stub to the service will fail when the web service is called.

The workaround is to install JDeveloper in a path without a space in any folder name.

#### 5.1.12.10 Generating Stubs for WSDL Files That Refer to Other WSDL Files (2627242)

If you want to generate a stub for a WSDL file that refers to, or imports, another WSDL file, the Web Service Stub/Skeleton Wizard will not be able to finish as it incorrectly identifies the WSDL file as invalid.

### 5.1.13 Using WebDAV Connections in JDeveloper

Web-based Distributed Authoring and Versioning (WebDAV) is a set of extensions to the HTTP protocol that enables access to files on remote Web servers.

Note: Before using WebDAV Connections in Oracle JDeveloper, you must first install the WebDAV extension from the Extension Exchange on OTN. For more information, refer to the Oracle Developer Suite 10g Installation Guide.

### 5.1.14 Miscellaneous Issues

#### 5.1.14.1 PL/SQL Compilation Errors Not Displayed (2688533)

If the name of the PL/SQL unit contains the schema name or is surrounded with quotes (or both), JDeveloper will not report compilation errors in the Log window. For example, you should write:

`PROCEDURE my_proc IS`

instead of

`PROCEDURE scott.my_proc IS`

or

`PROCEDURE "MY_PROC" IS`

#### 5.1.14.2 Allowable Values for Columns Must be Given a Display Sequence (2717508)

Generated JDeveloper modules will be invalid if the Designer table definitions from which they were derived contain columns with allowable values whose Display Sequence property is set to NULL.

For JDeveloper 9.0.4, you must always provide non-NULL values for the Display Sequence properties. You do this through the properties palette of Oracle Designer.

This behavior will change for JDeveloper 9.0.5, when a NULL value will be acceptable for a Display Sequence property.

#### 5.1.14.3 Toystore Demo Contains Obsolete bc4jstruts.jar File

The Toystore demo included with JDeveloper contains the file `bc4jstruts.jar`. This copy of `bc4jstruts.jar` is obsolete, and the demo will not run properly until the file is updated.

To update the file, remove it from your project, and replace it with the copy of `bc4jstruts.jar` found in `oracle_home``/BC4J/jlib`.

#### 5.1.14.4 Right Mouse Menu "Go to Source" no Longer Working (3146584)

The context menu item Go to Source for an element in the Show Dependency window no longer works. Instead, double-click the item to open the proper editor for the Java element.

#### 5.1.14.5 Passivation/Activation of interMedia Domain Objects with Media Content to Upload does not Work in 3 Tier Environment (2887647)

When you build a BC4J JSP application that uploads media content to interMedia columns and you select "EJB Entity Facades" when asked for what type of Business Entities will be modeled, the media content upload will fail if the BC4J JSP application is running in the "Stateful" mode with the "failover" option set to true.

## 5.2 Platform-specific Issues and Workarounds

### 5.2.1 Windows Platform Issues and Workarounds

#### 5.2.1.1 Updated JDK Required for Windows Preview Oracle9i JDeveloper

If you are using Oracle9i JDeveloper (9.0.4) as part of the Windows Preview version of Oracle Developer Suite 10g (9.0.4), you must upgrade JDeveloper's JDK to version 1.4.1_05. You can download this version from the Sun Microsystems site `http://java.sun.com`. Look in JDeveloper's online help system for instructions on upgrading to this version.

### 5.2.2 Linux, Solaris, and HP-UX Platform Issues and Workarounds

Note: Platform-specific issues are only reported for the platform on which they were first detected; an issue that is listed as "platform-specific" may actually occur on several platforms. Unless the notes say otherwise, you should only use a platform-specific workaround on the stated platform.

#### 5.2.2.1 General Linux, Solaris, and HP-UX Platform Issues and Workarounds

Sun Java Bug 4751177: Ignore Error Messages

You can safely ignore these error messages which may occur if you run JDeveloper on Linux, Solaris, or HP-UX:

    java.lang.SecurityException: Could not lockSystem" or "Oct 23, 2002 4:16:55 PM java.util.prefs.FileSystemPreferences
    checkLockFile0ErrorCodeWARNING: Could not lock System prefs.Unix error code 0.Oct 23, 2002 4:16:55 PM java.util.prefs.FileSystemPreferences syncWorld
    WARNING: Couldn't flush system prefs:
    java.util.prefs.BackingStoreException:
    Couldn't get file lock.

These errors are caused by a new system preferences feature in JDK 1.4. Details are provided in Sun Java bug 4751177.

Cannot create SOAP Server connections on Linux, Solaris, and HP-UX with Oracle9 i JDeveloper (9.0.4) installed with Oracle Developer Suite 10 g (9.0.4)(3042893)

After creating a SOAP Server connection from Oracle9i JDeveloper (9.0.4) installed with Oracle Developer Suite 10g (9.0.4), the following java exception occurs:

    java.lang.Exception: SOAP-ENV:Server: service
    'urn:xml-soap-service-management-service' unknown

Note: This only occurs with Oracle9i JDeveloper 9.0.4 installed with Oracle Developer Suite 10g (9.0.4). It occurs on Linux, Solaris, and HP-UX. It does not occur with standalone Oracle 9i JDeveloper 9.0.4 on any platform.

#### 5.2.2.2 Solaris-specific Issues and Workarounds

Unable to Select from the Code Insight List by Mouse-Click (2671418)

On Solaris, using the mouse to select from Code Insight results in the Code Insight list being dismissed without retaining the selection. The workaround is to use the keyboard to select from Code Insight.

Solaris Only: Long Delay Showing Database Objects in Entity Beans from Tables Wizard (2691427)

You may experience long delays seeing database objects in entity beans from the Table Wizard. This typically happens if you start with an empty workspace and there are no database connections defined in the IDE. The workaround to this is to click the Back button in the wizard panel which is waiting to show the database objects and then click the Next button. All available tables should then be displayed.

Publishing a Diagram as a JPEG or PNG Remotely on Solaris (3142729)

When you publish a diagram as a JPEG or PNG graphic remotely on a Solaris computer, the operation to publish the diagram can take a very long time to complete and it may appear that JDeveloper has frozen. You can work around this problem by either performing the publish operation directly on the Solaris computer or by publishing the diagram as SVG.

#### 5.2.2.3 Linux-specific Issues and Workarounds

`ClassNotFoundException` exception when deploying EBI files on Linux (3168559)

When you try to deploy EBI generated files on Linux, the deployment dialog does not appear, and the JVM throws the following exception:

    java.lang.ClassNotFoundException: EBIDeploymentProfileDt.m_deploy at
    java.net.URLClassLoader$1.run(URLClassLoader.java:199)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at oracle.ideimpl.IdeClassLoader.loadClass(IdeClassLoader.java:152)

This issue occurs intermittently and retrying the deployment will usually succeed.

#### 5.2.2.4 HP-UX Issues and Workarounds

JDeveloper requires `-Dsun.nio.cs.map="Windows-31J/Shift_JIS"` when using HP Java2 SDK 1.4.1.05 for PA-RISC (3238704)

HP Java2 SDK 1.4.1.05 for PA-RISC has an issue (JAGae96995) that causes the following exception when JDeveloper is started on HP-UX:

    java.lang.NullPointerException
            at java.nio.charset.Charset.put(Charset.java:437)
            at java.nio.charset.Charset.access$200(Charset.java:243)
            at java.nio.charset.Charset$3.run(Charset.java:476)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.nio.charset.Charset.availableCharsets(Charset.java:469)

Oracle has notified HP of this issue, and HP plans to fix it in HP Java2 SDK version 1.4.1.06.

Since Oracle Developer Suite 10g uses HP Java2 SDK 1.4.1.05 for PA-RISC, the `oracle_home/``jdev/bin/jdev` shell script that starts JDeveloper has been modified to work around this issue. Because of this workaround, the two Japanese character sets Windows-31J and Shift_JIS cannot be used with JDeveloper. Comments in the shell script `oracle_home``/jdev/bin/jdev` describe the workaround and how to enable and disable it.

## 5.3 Configuration Issues and Workarounds

There are no known configuration issues.

## 5.4 Administration Issues and Workarounds

There are no known administration issues.

## 5.5 Documentation Errata

### 5.5.1 Replace qView with getRowSet in Migration Documentation (2723075)

In the migration documentation, replace qView with getRowSet.

### 5.5.2 Documentation Refers to BC4J "Wizards"

The help documentation that is displayed when you click Help in one of the component editors refers to a component "wizard" when it should refer to a "wizard or editor". For example, the help text that is displayed when you click Help in the Entity Object Editor has the title "Entity Object Wizard"; the title should be "Entity Object Wizard and Editor"