# HP TP Web Connector V5.0

# Release Notes - January 2006

© Copyright 2006 Hewlett-Packard Development Company, L.P.

This document provides the release notes for the HP TP Desktop Connector Version 5.0 product. These release notes describe known problems with this product, and include hints and suggestions to help you use this product.

# Contents

Preface

> Kit Updates

> Associated Documentation

Installation Notes

Problems Fixed

> Problems Fixed in Version 5.0

> Problems Fixed in Version 4.5A

> Problems Fixed in Previous Kits and ECO Releases

Known Problems

Restrictions

General Information

> General Notes

> Programming C Clients

> Programming Automation Clients

> Programming Java Clients

> Controlling Client Connections

> Using the ACMS Gateway Adapter

> Using the HP TP Web Connector Gateway for ACMS

> Using the TPware Management Utility

> Using the Client Build Utility

> Samples

Troubleshooting Tips

> Registering and Unregistering Automation DLLs

> Interpreting Runtime Error Codes

> > Location of Runtime Error Code Information

> > Interpreting Automation Errors

> Running Oracle Web Request Broker

# Preface

## Kit Updates

For notifications on future updates or changes to the HP TP Desktop Connector product kits, refer to the following website:

http://h71000.www7.hp.com/commercial/tpwebconnector.

## Associated Documentation

In addition to these release notes, also refer to the following TP Web Connector documents:

Online Guides:

- HP TP Web Connector Installation Guide
- HP TP Web Connector Getting Started

Online help:

- TPware Management Utility online help
- TPware STDL online help
- TPware Client Build Utility Online help

# Installation Notes

The following sections describe installation notes. If the release note reflects a problem logged in the Problem Tracking and Reporting System (PTR), then the PTR number is listed in the description.

- When installing this TPware kit the install procedure will detect the presence of a previously installed TPware kit and install the kit in the same directory.

- If you are upgrading from a previously installed TPware kit, all information stored by the TPware management GUI will be retained.

- You must shutdown all TPware processes and applications that use TPware prior to the installation of this kit.

- When upgrading from a previously installed TPware kit, you will not be asked for product license keys for products that are already installed.

- With this release the TPware management information will be migrated from HKEY_LOCAL_MACHINE\SOFTWARE\HP\TPware to HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware. Once the migration is complete the TPware key under HKEY_LOCAL_ MACHINE\SOFTWARE\HP will be removed.

- If TPware files are lost or damaged once the kit has been installed, reinstall the latest TPware kit in order to restore the files.

- When installing both the HP TP Desktop Connector Version 5.0 and TP Web Connector on the same system, caution must be used. Both products allow connectivity to HP ACMS. With both products installed, HP TP Desktop Connector applications that use HP ACMS Gateway Connector interface will not work. However, HP TP Desktop Connector applications using the Client Services Interface (formerly known as ACMS Desktop Portable API) will not be affected.

- On rare occasions, a TPware product uninstall does not delete the TPware program folder and/or associated files.

  Workaround: Delete the program folder and/or product files using the Windows Explorer.

- 'Error 115' during the installation of a TPware product indicates that a file is locked and will cause the installation to fail. (PTR 64-4-95)

  Workaround: Prior to installing any TPware ECOs or additional TPware products, all TPware applications and TPware product processes must be shutdown. If this error continues, then reboot the system and repeat the installation.

- The regsvr32.exe image which is referenced in the product documentation is not supplied with the TPware kit. This is a Microsoft image and must be obtained from Microsoft. This file is typically found in the WinNT\system32 directory.

- There is only one uninstall procedure. When you run the uninstall procedure, all the TPware products currently installed are removed.
- When installing the TPware products in a directory that differs from a previous installation, check any of the user-defined environment variables to ensure that they are referencing the new installation directory.

- The installation procedure may run out of disk space while copying files due to customized disk configurations. (PTR 64-9-7)

  Workaround: Correct the problem and then perform a reinstall.

- If you need to uninstall or re-install the TPware product and want to save settings defined in the TPware Management Utility, perform the following before you uninstall. Note, this does not have to be done in order to install a TPware ECO.
  1. Click on Start -> Run...
  2. Enter regedit at the Open prompt.
  3. Click Registry on the menu bar.
  4. Select Export Registry File... on the Registry Menu.
  5. Enter a separate file name in the File Name prompt for each of the settings to be saved.
  6. In Export range, click on the Selected branch button, then enter the appropriate registry key:

     HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\ACMSDA Settings (for the ACMS settings)

     HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\Group Settings (for the Threads settings) HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\Share Settings (for the Sharing settings)

  7. Click on the Save button.
  8. Repeat steps 5 through 7 for each of the settings to be saved.

To restore the registry settings after you re-install, do the following:

1. Click on Start -> Run...
2. Enter regedit at the Open prompt.
3. Click Registry on the menu bar.
4. Select Import Registry File... on the Registry Menu.
5. Enter the file name in the File Name prompt. This should be the same file used in step 5 when the registry settings were saved.
6. Click on the Open button. You should see a message box telling you that the information has been successfully entered in the registry.
7. Repeat steps 5 through 6 for each of the settings to be restored.

Note: For more information on pre-requisites and installation instructions, refer to the README file.

# Problems Fixed

## Problems Fixed in Version 5.0

There are no problems fixed in this release.

## Problems Fixed in Version 4.5A

Following are the problems fixed in this release:

- Problems while registering EMPLOYEE_ACMS_AUTO.DLL. There were problems in registering the EMPLOYEE_ACMS_AUTO.DLL due to discrepancies in the .asp files. Due to this, the .asp files are modified in the employee sample application.
- The name of the EMPLOYEE_INFO_APPL_XXX sample is changed to EMPLOYEE_WEB_APPL sample.
- The following table lists the files that are replaced by new files in the ACMSDA045A.D saveset:

  Existing... | Replaced By...
  --- | ---
  EMPLOYEE_INFO_TASK_GROUP.GDF | EMPLOYEE_WEB_GROUP.GDF
  TPWARE_ADD_EMPL_INFO.TDF | EMPLOYEE_WEB_ADD.TDF
  TPWARE_GET_EMPL_INFO.TDF | EMPLOYEE_WEB_GET.TDF
  TPWARE_PUT_EMPL_INFO.TDF | EMPLOYEE_WEB_PUT.TDF

## Problems Fixed in Previous Kits and ECO Releases

The following problems were fixed in releases prior to Release 1.2A:

- The ACMS Gateway output adapter would sometimes incorrectly return the error message -3103 when -3020 should have been returned instead. (PTR 64-8-13)
- If the length of a text field in a record definition equaled 1024 and the Java input adapter was being used then the compilation of the task group and corresponding record definition(s) would fail. (PTR 64-8-14)
- The Java adapter was incorrectly converting Unicode characters to UTF-8 instead of multibyte format. (PTR 64-9-24)
- The TPware Add sample server code was not the same code that was in the ACMSxp V3.1 NT kit. (PTR 64-4-20)
- The STDL compiler returned an error if the full pathname of the STDL file to be compiled contained embedded spaces. (PTR 64-4-29)
- When interfacing with HP ACMS, floating point numbers with a high degree of precision were not correctly converted from OpenVMS format to Windows NT format. (PTR 64-8-01)
- The Output Adapter drop down list for the client build utility did not list the HP ACMS output adapter type. (PTR 64-8-03)
- A client using the HP ACMS Gateway output adapter would spin if the TP Web Connector Gateway was shutdown or crashed while the client was connected. (PTR 64-8-04)
- The STDL compiler did not properly compile record definitions that contained embedded records when building the Java adapter. (PTR 64-8-11)
- A memory corruption problem has been fixed in the HP ACMS Gateway output adapter. (PTR 64-8-12)
- Failure to define RPC_DEFAULT_ENTRY via an environment variable or the TPware Management Utility caused the DCE NSID process to crash. (PTR 64-9-14)
- If a user was a member of many Windows NT groups, the TPware management GUI would fail to start. (PTR 64-9-15)
- The MSRPC output adapter did not correctly handle the selection of multiple servers with the same interface if one of the servers was down. (PTR 64-9-16)
- Binding Timeout, if enabled, did not work. (PTR 64-9-17)
- The STDL compiler truncated array names within records that exceeded 25 characters in length. (PTR 64-9-18)
- The STDL compiler allowed numeric characters as the first character in a STDL '#include' preprocessor directive statement. (PTR 64-11-15)

# Known Problems

Following are the known Problems with this release:

- Unsupported Product traces

  The TPWARE installation has been overhauled and many currently unsupported products have been removed from the kit (a notable example is ACMSxp, which is now retired). Still there may be some traces of these products in the installation tree, which are not functional, but still get copied during the Installation.

# Restrictions

There is no new restriction in this release.

# General Information

## General Notes

The following general notes apply to this release:

- If you try to use an ISAPI DLL and an Automation DLL in the same process, the second DLL used for task calls returns an error code of 0xFFFFF4444 and an error class of -4.

  Workaround: Do not mix ISAPI and Automation DLLs in the same process.

- The number of concurrent connections for the TP Web Connector Gateway for ACMS should be limited in order to reduce the possibility of excessive runtime system resource usage. Set the maximum number of threads on the Threads tab in the Management Utility to limit the number of concurrent gateway connections.
- If you use the Default group to specify threads settings, then any changes made to the Default threads settings do not take effect dynamically. You must restart any application that uses the Default settings in order for the changes to take effect.
- When threads settings are specified for a named group, all processes accessing the group share a common throttle. If a group has "Execute call on a separate thread, but limit maximum threads" semantics, each process that accesses the group will create up to the specified number of worker threads, but only the maximum number of threads are allowed through the throttle.

  For example, if a group named "add_task_group" has a limit of 10 threads, and there are two processes that call add_task_group, then each process creates up to 10 worker threads (20 total), but only 10 threads are allowed access to add_task_group's server.

- The error log reporting stdlog -b (before) and -s (since) switches are not working properly. (PTR 64- 11-17)
- Error logging message to the NT event viewer erroneously display binary characters and may not contain all the information returned to the client and information that is reported via the stdlog error logging utility when the STDL_LOG_FILE environment variable is set. (PTR 64-11-18)
- When reading the online version of the product documents with Microsoft Internet Explorer V3.x, some of the hyperlinks do not work.

  Workaround: Upgrade to Internet Explorer V5.5 or V6.0.

- The STDL compiler does not report an error when invalid communications adapters are used with the -C switch. (PTR 64-4-37)
- A thread leak can occur whenever the WWW service is stopped and restarted without stopping the INETINFO process.

  Workaround: Issue a NET STOP IISADMIN or alternatively, reboot your system.

## Programming C Clients

In a user program, if einfo.h is included before windows.h and a message header file is then included, compilation errors occur. (PTR 64-4-4)

Workaround: Include windows.h before einfo.h.

## Programming Automation Clients

The following notes apply to Automation clients:

- There are certain times when you must unregister and register an Automation server. Please see the section "Registering and Unregistering Automation DLLs" for further information.
- This version has limited Automation error reporting. Please see the section on "Interpreting Runtime Error Codes" for more information.
- Arrays are base 0 in Automation.
- Automation does not support user-defined datatypes. To handle user-defined datatypes, such as records, each record must be defined as a separate object. For embedded records the software creates an object with the name _RECORD. If two embedded records in the same task or processing group file have the same field name, then the software will declare two objects with the same name. This causes an error. (PTR 64-4-19)

  Workaround: For X/Open or MIA Syntax: Make sure embedded records in the same task or processing group have unique field names. For X/Open Syntax only: Declare the embedded records as separate datatype, then reference the user-defined type in the field definition.

For example, the following is invalid syntax for Automation adapter:

       TYPE MOVE_REC1 IS RECORD
          FLD_1 IS INTEGER;
          FLD_2 IS OCTET;
          FLD_3 IS RECORD
                FLD3_1 TEXT SIZE 7;
                FLD3_2 INTEGER;
          END RECORD;
       END RECORD;

       TYPE MOVE_REC2 IS RECORD
          FLD_1 TEXT SIZE 8;
          FLD_2 DECIMAL STRING SIZE 3;
          FLD_3 IS RECORD
                FLD3_1 TEXT SIZE 7;
                FLD3_2 INTEGER;
          END RECORD;
       END RECORD;

The following is valid X/Open syntax for Automation adapter:

       TYPE USER_TYPE IS RECORD
          FLD3_1 TEXT SIZE 7;
          FLD3_2 INTEGER;
       END RECORD;

      TYPE MOVE_REC1 IS RECORD
         FLD_1 INTEGER;
         FLD_2 OCTET;
         FLD_3 USER_TYPE;
      END RECORD;

      TYPE MOVE_REC2 IS RECORD
         FLD_1 TEXT SIZE 8;
         FLD_2 DECIMAL STRING SIZE 3;
         FLD_3 USER_TYPE;
     END RECORD;

## Programming Java Clients

The following notes apply to Java clients:

- The Java adapter has been tested using Sun Microsystems' J2SE 1.4.2 SDK.
- Visual J++ Version 6.0 is required to run the Visual J++ Automation Add Sample.
- There is no support for bean serialization.
- Arrays (primitives, strings and objects) in the Java adapter are restricted to three dimensions.
- The STDL data type UUID is now converted to and from a Java String. This change to support the UUID data type requires that the Microsoft Visual C library RPCRT4.LIB is included in the link line when building a Java adapter DLL. The RPCRT4.LIB library is needed whether or not UUID types are used in the client application.
- The Java input adapter did not work with the Microsoft virtual machine. With the release of Microsoft SDK for Java, Version 3.1 there is now the option of using the Microsoft compiler and virtual machine. Use http:\\www.microsoft.com\java\download.htm build 3167 2/18/99 or later. When installed this version will provide a development SDK and virtual machine. It will also update the virtual machine for Visual Studio J++ if that product is installed. After the SDK installation, ensure that the executable path is set to locate the new jvc.exe and jview.exe images in preference to images from any earlier Microsoft development environment. The classpath might also need adjusting to locate the new classes.zip file.

  When building a Java input adapter from the command console under the Microsoft environment, the environment variable STDL_JAVA_MS has to be defined to be a non- null value. When STDL_JAVA_MS is defined the STDL compiler will use ,code_example>(jvc.exe) instead of the normal javac.exe to compile the Java source files. Microsoft does not provide the Jar utility. The STDL compiler needs the Jar utility to be available in order to archive the class files. The Jar.exe utility can be obtained from the normal Java distribution or one of the IDEs and made available in the executable path.

  To run the Microsoft virtual machine from the command console, execute jview.exe instead of java.exe.

  It is possible to elect to run the Microsoft virtual machine at runtime while using the normal JDK for development.

- This kit supports a workaround to allow the generated Java classes to be placed into a package. The following is a description of the steps to be taken to allow the STDL compiler to include the classes in a package. These steps are in addition to the directions for building Java clients provided in the HP TP Desktop Connector Getting Started guide.

  You must ensure that the working directory and a sub directory used when STDL compiles the Java files matches the naming of the Java package. For the purpose of this description, assume that the package is to be named emp.tpw, the name of the working directory is C:\dev\emp and the name of the directory that will hold the Java files during compilation is called tpw. The Java compilation directory is created under the working directory, C:\dev\emp\tpw. There will be an additional temporary directory automatically created by the STDL compiler alongside the Java compilation directory.

  1. Manually create the directories. The terminal directory names in the path have to match the names used in the package definition. For example:

     C:\dev\emp // Normal development work directory for the make, stdl and result files C:\dev\emp\tpw // Java compilation temporary directory C:\dev\emp\temp // Automatically generated temporary directory

  2. Define the environment variable STDL_JAVA_ PACKAGE= in a way that matches the Java package directories. For example:

     STDL_JAVA_PACKAGE=emp.tpw

  3. When the java classes are generated they will include the named package. In order for the Java compiler to locate the classes in the package at STDL build time, the working directory's parent needs to be specified in the classpath. For example:

     SET CLASSPATH=%classpath%;C:\dev

  4. In addition to generating class files the STDL compiler will also generate C include files to be used when building the adapter DLL. Add the Java compilation directory to the INCLUDE environment variable to allow the C compiler to locate the generated include files during the STDL build. For example:

     SET INCLUDE=%include%;C:\dev\emp\tpw

  5. When the STDL build completes, the generated DLL and JAR files that are required for the application will have been moved up into the working directory. The normal temporary directory is cleaned up after a STDL build. This is not the case with the Java compilation directory. The directory can be cleaned up by adding to the make file cleanup, a delete of the files in the Java compilation directory.

     After the Jar file has been created, client programs can reference the class files in the package by including the Jar file in the class path and importing the package. For example, assume the jar file is named employee.jar:

     SET CLASSPATH=%classpath%;C:\dev\emp\employee.jar
     import emp.tpw.*; // In client application source file

  6. Records are defined as separate objects. For embedded records the software creates an object with the name . If two embedded records in the same task or processing group file have the same field name, then the software will declare two objects with the same name. This causes an error. (PTR 64-4-19)

     Workaround: For X/Open or MIA Syntax: Make sure embedded records in the same task or processing group have unique field names. For X/Open Syntax only: Declare the embedded records as separate datatype, then reference the user-defined type in the field definition.

For example, the following code is invalid syntax for Java adapter:

       TYPE MOVE_REC1 IS RECORD
          FLD_1 IS INTEGER;
          FLD_2 IS OCTET;
          FLD_3 IS RECORD
       	    FLD3_1 TEXT SIZE 7;
                FLD3_2 INTEGER;
         END RECORD;
       END RECORD;

       TYPE MOVE_REC2 IS RECORD
          FLD_1 TEXT SIZE 8;
          FLD_2 DECIMAL STRING SIZE 3;
          FLD_3 IS RECORD
                FLD3_1 TEXT SIZE 7;
                FLD3_2 INTEGER;
          END RECORD;
      END RECORD;

The following is valid X/Open syntax for Java adapter:

       TYPE USER_TYPE IS RECORD
          FLD3_1 TEXT SIZE 7;
          FLD3_2 INTEGER;
       END RECORD;

       TYPE MOVE_REC1 IS RECORD
          FLD_1 INTEGER;
          FLD_2 OCTET;
          FLD_3 USER_TYPE;
       END RECORD;

       TYPE MOVE_REC2 IS RECORD
          FLD_1 TEXT SIZE 8;
          FLD_2 DECIMAL STRING SIZE 3;
          FLD_3 USER_TYPE;
       END RECORD;

## Controlling Client Connections

When a client uses the ACMS Gateway adapter the connection established by the client is cached. By default, the connection is cached for up to 20 minutes of inactivity. If after 20 minutes the client has not used the connection, the connection will timeout due to inactivity. This value can be modified by entering a value in the Windows registry by using the registry editor. The registry value that needs to be added is located in the path:

HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\Cache Settings

The value that needs to be added is Binding Timeout the value represents the lifetime in minutes of the connection following a period of inactivity. If the value is set to zero the connection is never removed due to inactivity. To set the Binding Timeout value, do the following:

1. In the registry editor, highlight "Cache Settings".
2. Go to the Edit drop down tab and select "add value".
3. For the value name, enter Binding Timeout (note space in name).
4. For the datatype, select DWORD click on OK and enter a value.
5. Restart the client in order for the change to take affect.

## Using the ACMS Gateway Adapter

The following notes apply to the ACMS Gateway adapter:

- The ACMS Gateway adapter does not support the following features:
  1. Exchange Steps
  2. Data Compression
  3. SHOW_DESKTOP_USERS Utility Program
  4. Nonblocking Calls
  5. Forced Nonblocking Calls
  6. Client Task Cancel Calls
  7. non-Windows Client Platforms
  8. non-TCP/IP transports
  9. variant data types

- A stack overflow may occur when accessing ACMS from clients within web servers. If this happens, einfo will contain the following: eclass = -4, ecode = FFFFF444. (PTR 14) (HP TP Web Connector)

  Workaround: Use the Management Utility and set either the "Execute call on a separate thread" or "Execute call on a separate thread, but limit maximum threads to" execution semantics for the group.

- EINFO is not being cleared after an error occurs. (PTR
64-4-26)

## Using the HP TP Web Connector Gateway for ACMS

The release notes for the TP Web Connector Gateway for ACMS component (Version 5.0) are contained in a separate document within the TP Web Connector Gateway for ACMS installation procedure and are installed in the following OpenVMS system directory:

       SYS$HELP:ACMSDA050.RELEASE_NOTES - text version

## Using the TPware Management Utility

The following note applies to the TPware Management Utility:

- The TPware Management Utility does not save all changes before connecting to the next registry. (PTR 64-4-44)

  Workaround: Use the Computer tab only at the beginning of a TPware Management Utility session, make registry changes, then exit. If you want to use the Computer tab to connect to and make changes to multiple nodes, it is required that you exit the utility with "Close" or "OK" after managing each node.

## Using the Client Build Utility

The following notes apply to the Client Build Utility:

- The Client Build Utility creates a process that runs nmake to create the client files. This process is visible on the desktop as a minimized window icon. If nmake runs for 10 minutes without returning, the Client Build Utility will timeout and return a Create Process error. However, the created process will still be running. If the application is unusually complex it may be a legitimately long build, in which case the process can be allowed to complete. Otherwise, the minimized window should be closed, which terminates the process.

- Rebuilding an existing Automation client generates the following error message. (PTR 64-9-13)

         Cannot create a file when that file already exists.
         NMAKE: fatal error U1077: 'move'": return code '0x1'

  Workaround: Delete the existing DLL before rebuilding.

## Samples

The following notes apply to the samples provided in the kit:

- The Samples provided in this kit can be found under the "TPware Products" menu item under the "Programs" menu item on the "Start" menu.

# Troubleshooting Tips

## Registering and Unregistering Automation DLLs

There are certain times when the user must unregister and re-register an Automation server. If you are adding or removing methods, changing the number or type of arguments, or changing the fields in a record associated with an argument, you should unregister the existing Automation DLL using the regsvr32 -u command before you build the new DLL. Failure to issue the unregister command using the exact same DLL that was used when registering can cause the following problems:

- The unregister command will not be able to remove all associated Windows Registry entries.
- The unregister command will signal errors.

If you forgot to unregister before you built the new DLL and receive errors when unregistering, then select to continue if prompted. Next re-register the new DLL. If the Automation DLL registers successfully the new Automation interface should be available. If not try unregistering and registering again.

If you don't re-register an Automation DLL and have changed any of the information mentioned above, then the Automation server will not work correctly because the registered Automation interface will be out of sync with the Automation interface in the DLL.

If you receive the following error messages when registering or unregistering an Automation DLL, then check that the STDL_SYS_DIR environment variable is defined and in the current path. If you did not reboot after installing the kit you should do so.

- The dynamic link library stdl_rtm.dll could not be found in the specified path

      LoadLibrary ("") failed
      Get Last Error returns 0x0000007e

- Please check that the STDL_SYS_DIR environment variable is defined and in the current PATH. If you did not reboot after installing the kit you should do so.

## Interpreting Runtime Error Codes

### Location of Runtime Error Code Information

Other than Automation errors as described below, the TP Web Connector returns error information in einfo.ecode. These error codes and their descriptions can be found in the following files:

       <installed-kit>\stdl\include\stdlrt_msg.h
       <installed-kit>\stdl\include\acmsda_client_messages.txt

The stdlrt_msg.h file contains error codes for TPware runtime exceptions. The range of these errors is 01 to 255 (0x01 to 0xFF).

The acmsda_client_messages.txt text files, found in the TPWARE\stdl\include directory, document client error codes. The range of these errors is -3000 to -3199 (0xFFFFF448 to 0xFFFFF381).

Please examine these files to evaluate and respond to client and/or gateway errors as logged in the ACMS Software Error log (SWLUP). Also see SYS$HELP:ACMSDA$GATEWAY_ MESSAGES.TXT on the TP Web Connector Gateway system for ACMS (on OpenVMS) for evaluating gateway error information.

### Interpreting Automation Errors

Runtime Automation error values are returned using a 32- bit number known as a result handle (i.e. HRESULT). The structure of a HRESULT value is defined by Microsoft. Automation errors returned by the TP Web Connector start at 214774989 (0x80041001). These values can be translated to error codes found in stdlrt_msg.h using the following formula:

        STDL error code = <Automation-error-code-value> - 0x80041000

## Running Oracle Web Request Broker

When running the Oracle Web Request Broker samples, the error "The requested access method is not allowed for that object" is returned if the virtual path to the web cartridge does not match the requested path. (Note that the virtual path for web cartridges is case sensitive.)

© Copyright 2006 Hewlett-Packard Development Company, L.P.

Confidential computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S.Government under vendor’s standard commercial license.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additonal warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Microsoft and Windows are US registered trademarks of Microsoft Corporation.

Java is a US trademark of Sun Microsystems, Inc.

Printed in the US