Customizing Web Interface 2.0 using ColdFusion

happylandcannedΛογισμικό & κατασκευή λογ/κού

2 Ιουλ 2012 (πριν από 5 χρόνια και 1 μήνα)

428 εμφανίσεις




C
C
u
u
s
s
t
t
o
o
m
m
i
i
z
z
i
i
n
n
g
g


W
W
e
e
b
b


I
I
n
n
t
t
e
e
r
r
f
f
a
a
c
c
e
e


2
2
.
.
0
0


U
U
s
s
i
i
n
n
g
g


C
C
o
o
l
l
d
d
F
F
u
u
s
s
i
i
o
o
n
n


Citrix Systems, Inc.


















Notice
The information in this publication is subject to change without notice.
THIS PUBLICATION IS PROVIDED “AS IS” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-
INFRINGEMENT. CITRIX SYSTEMS, INC. (“CITRIX”), SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL
ERRORS OR OMISSIONS CONTAINED HEREIN, NOR FOR DIRECT, INCIDENTAL, CONSEQUENTIAL OR ANY
OTHER DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE, OR USE OF THIS PUBLICATION, EVEN
IF CITRIX HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.
This publication contains information protected by copyright. Except for internal distribution, no part of this publication may
be photocopied or reproduced in any form without prior written consent from Citrix.
The exclusive warranty for Citrix products, if any, is stated in the product documentation accompanying such products.
Citrix does not warrant products other than its own.
Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.
Copyright © 2004 Citrix Systems, Inc., 851 West Cypress Creek Road, Ft. Lauderdale, Florida 33309-2009 U.S.A. All
rights reserved.





Version History
1.0 Sharon D’Souza, Citrix Consulting February 21, 2004











Customizing Web Interface 2.0 Using ColdFusion iii
Table of Contents
INTRODUCTION............................................................................................................................................................................1

COLDFUSION INSTALLATION REQUIREMENTS.......................................................................................................................2

COLDFUSION MARKUP LANGUAGE (CFML) BASICS..............................................................................................................3

C
REATING A
S
ESSION
....................................................................................................................................................................3

W
RITING
O
UTPUT
..........................................................................................................................................................................3

E
RROR
H
ANDLING
.........................................................................................................................................................................4

ACCESSING WEB INTERFACE 2.0 OBJECTS............................................................................................................................5

PROOF OF CONCEPT..................................................................................................................................................................7

E
NVIRONMENT
S
ETUP
....................................................................................................................................................................7

A
DMINISTRATION
C
ONFIGURATION
...................................................................................................................................................7

NF
USE
.P
ROPERTIES
C
ONFIGURATION
.............................................................................................................................................9

NF
USE
.C
ONF
C
ONFIGURATION
.......................................................................................................................................................9

I
NTERNET
I
NFORMATION
S
ERVER
(IIS)

C
ONFIGURATION
..................................................................................................................10

C
ODE
P
AGES
..............................................................................................................................................................................10

ADDITIONAL INFORMATION.....................................................................................................................................................11

APPENDIX A – CODE SCRIPTS.................................................................................................................................................12

I
NDEX
.
CFM
..................................................................................................................................................................................12

A
PPLIST
.
CFM
...............................................................................................................................................................................14

L
AUNCH
.
CFM
...............................................................................................................................................................................16







Customizing Web Interface 2.0 Using ColdFusion 1
Introduction
The web interface for MetaFrame XP is an application access mechanism that provides users with an
interface to MetaFrame Presentation Server published applications through a standard Web browser. Web
interface 2.0 utilizes Java object technology which is executed on a Web server to dynamically create an
HTML depiction of applications a user has access to within MetaFrame Presentation Server farms.
By default, Active Server Pages and Java Server Pages have been used to write web interface 2.0. This
paper provides the information on how to access published resources through another scripting language,
ColdFusion. ColdFusion is a Web application server for developing and delivering e-business applications.
ColdFusion utilizes a tag-based, server scripting language that is ideal for programming Web applications.
Processed entirely on the server, the ColdFusion Markup Language (CFML) cleanly integrates with HTML
for the user interface and XML for the data exchange.
The document covers the following topics:
 ColdFusion Installation Requirements
 ColdFusion Markup Language (CFML) Basics
 Accessing Web Interface 2.0 Objects
 Proof of Concept





Customizing Web Interface 2.0 Using ColdFusion 2
ColdFusion Installation Requirements
The ColdFusion installation is wizard driven, which provides an easy and intuitive install. ColdFusion supports many
different web servers on different platforms. The following Windows platforms that are supported:
 Windows 98
 Windows Millennium Edition (ME)
 Windows NT 4.0 (Workstation and Server) SP6A
 Windows NT 4 Server, Enterprise Edition SP6A
 Windows 2000 (Professional SP3 or higher, Server SP3 or higher, Advanced Server, and Datacenter
Server)
 Windows XP (Home and Professional)
 Windows 2003 (Web, Standard, and Enterprise Editions)
The following table provides the minimum requirements for the installation.








Web servers supported by ColdFusion include the following:
 ColdFusion MX built-in web server
 Microsoft IIS 4.0, 5.x, 6
 Netscape Enterprise Server 3.6x
 iPlanet 4.x (SunOne Web Server 6.x)
 Apache web server 1.3, 22-1.3.27, 2.0.43 or higher


Type Details
Processor 256 Mhz
Colors 128
Minimum RAM 256 MB
Recommended RAM 128 MB
Free hard disk space 450 MB to install and 250 MB to run


Customizing Web Interface 2.0 Using ColdFusion 3
ColdFusion Markup Language (CFML) Basics
The CFML is a script based language for Web applications. ColdFusion has numerous script tags;
however, this paper only concentrates on creating a session, writing output, and error handling because
these items are utilized in web interface. Please refer to the ColdFusion online documentation
for further
tag reference.
Creating a Session
A session refers to all the connections that a single client might make to a server in the course of viewing any pages
associated with a given application. Sessions are specific to both the individual user and the application. As a result,
every user of an application has a separate session and has access to a separate set of session variables. In web
interface, a session is created in order to maintain state. Creating sessions in ColdFusion require that it is enabled
both on the ColdFusion Administration site and for the application. The <CFAapplication> tag defines scoping for a
ColdFusion application and enables or disables the storing of application and/or session variables. The image below
depicts where the Memory Variables are set in the ColdFusion Administration console.


Figure 1: Memory Variables in ColdFusion Admin Console
Writing Output
Once information is retrieved from the ColdFusion processor, information needs to be displayed to the browser. In
order to do so, the <cfoutput> tag must be used. The <cfoutput> tag may encapsulate ColdFusion variables and text.
Text that is surrounded by pound the sign (#) is treated as a ColdFusion variable or function call. An example of the
<cfoutput> tag is as follows:
<cfset strIntro=”Hello World!”>


Customizing Web Interface 2.0 Using ColdFusion 4
<cfoutput>#strIntro#</cfoutput>


The code snippet above sets the variable strInto to “Hello World!” and then writes out the text “Hello World!” to the
browser.
Error Handling
Developers attempt to handle as many errors as possible; however, there are always exceptions that may be
unhandled. ColdFusion provides error handling tags that may assist in trapping errors and displaying graceful and
user-friendly messages. ColdFusion provides a few tags that can assist in trapping errors; this section only
concentrates on two: cftry/cfcatch and cferror.
<cftry> and <cfcatch> tags assist to trap exceptions in ColdFusion, such as invalid use of a method, failed to connect to
database, etc. The <cftry> and <cfcatch> tags may be used in the following way:
<cftry>
<cfobject action="create" type="java" class="com/citrix/nfuse/ClearTextCredentials"
name="objCredentials">

<cfcatch>
<cfoutput>
<p>#cfcatch.message#</p>
<p>#cfcatch.Detail#</p>
</cfoutput>

</cfcatch>

</cftry>


The code above tries to create an instance of the ClearTextCredentials object. If this object is unable to get created,
the <cfcatch> tag traps the exception and displays the message to the browser.
The <cferror> tag provides the means to display customized HTML error handling pages. It may be used in the
following format.
<cferror type="Request"
template="request_err.cfm">

<html>
<head>An Error Occurred</head>
<body>

If you continue to have this problem, please contact #error.mailto#.

</body>
</html>

The above code is used as a backup error handler to other error handling types. The template attribute is the relative
path to the custom error page. The HTML script displays the error message to the user's browser.



Customizing Web Interface 2.0 Using ColdFusion 5
Accessing Web Interface 2.0 Objects
ColdFusion supports Component Object Model (COM), Common Object Request Broker Architecture (CORBA), Java,
and ColdFusion components. An object is a self-contained module of data and its associated processing. An object is
a building block that you can put together with other objects and integrate into ColdFusion code to create an
application.
The tags used to access objects may be either <CFOBJECT> or the CreateObject within the <CFSCRIPT> tag. An
example of the <CFOBJECT> tag is as follows:
<CFOBJECT action="create" type="java" class="com/citrix/nfuse/ClearTextCredentials"
name="objCredentials">
The table below provides details about the <CFOBJECT> attributes when attempting to create an instance of a Java
object.
Attributes Description
Action Required. Specifies “Create” in order to create
the Java object.
Type Required. Specifies the type of object. This is
Java.
Class Required. Specifies the Java class.
Name Required. The name used within CFML to
access the object.

An example of the <CFOBJECT> tag that creates an instance of a COM object is as follows:
<CFOBJECT action="Create" type="COM" Class="Citrix.ICAClient" name="objICA">
The table below provides details about the <CFOBJECT> attributes when attempting to create an instance of a COM
object.
Attributes Description
Action Required. One of the following:
 Create: Instantiates a COM object (typically
a DLL) before invoking methods or
properties.
 Connect: Connects to a COM object
(typically an EXE) running on the server
specified in server.
Type Required. Specifies the type of object. This is
COM.
Class Required. The component ProgID for the object
to invoke.
Name Required. Name for the object.
Context Optional. InProc, Local, or Remote.


Customizing Web Interface 2.0 Using ColdFusion 6
Server Required when context = “Remote”
 Server = \\servername

 Server = servername
 Server = http://www.servername.com

 Server = www.servername.com

 Server = “10.1.1.12”

An example of using the CreateObject within the <CFSCRIPT> tag is as follows:
<CFScript>
objCredentials = CreateObject(“COM”, “com.citrix.nfuse.ClearTextCredentials”)
</CFScript>
Parameters Description
Type – 1st parameter (required) Type of object to create.
 Com
 Corba
 Java
 Component
 Webservice
Class – 2nd parameter (required) Component ProgID for the object to invoke
Context – 3rd parameter (optional, default is
setting in the registry )
 InProc
 Local
 Remote
ServerName – 4th parameter (required if context
is remote)
Server Name, using UNC or DNS
 \\servename

 servername
 http:\\www.servername.com
 www.servername.com

 10.1.1.12


Customizing Web Interface 2.0 Using ColdFusion 7
Proof of Concept
The proof of concept section provides an example of how ColdFusion was setup and configured in a lab
environment. This may serve as a base for using ColdFusion with web interface 2.0 through other web
servers and scenarios.
Environment Setup
The environment consisted of two servers: MetaFrame Presentation Server and a web server with ColdFusion, Internet
Information Server and the web interface object. The diagram below depicts the lab environment.

MetaFrame Presentation Server
ColdFusion Web Server/
Web Interface objects

Figure 2: ColdFusion POC Environment
The ColdFusion web server along with the web Interface objects contact the MetaFrame Presentation Server in order
to get the user’s application set. The MetaFrame Presentation Server was configured with the following settings:
Server Name ctxMetaFrame
Operating System Windows 2000 with SP4
Build MetaFrame XP Presentation Server, Feature
Release 3

The ColdFusion web server was configured with the following settings:
Server Name ctxColdFusion
Operating System Windows 2000 with SP4
Build Internet Information Server (IIS), ColdFusion 6.1
installed to work with IIS, web interface 2.0

Administration Configuration
The ColdFusion administration console has to be configured with the correct class path so that the ColdFusion
complier will be able to determine the location of the web interface objects and configuration files. The following steps
were taken to configure the administration console (Please Note: the Class Path is case sensitive):
1. Extract the WI files from the WI package (download from http://www.citrix.com
).
2. Copy the following files from the extracted WI packaged to the ColdFusion lib directory (i.e.
\CFusionMX\wwwroot\WEB-INF\lib)


Customizing Web Interface 2.0 Using ColdFusion 8

Figure 3: ColdFusion Library Directory Listing
a. CtxSTA.dtd
b. ctxxml4j.jar
c. empty.txt
d. js.jar
e. NFuse.conf
f. NFuse.dtd
g. nfuse.jar
h. NFuse.properties
i. nfuse.txt
j. NFuseE.jar
k. NFuseErrorsResource.properties
l. NFuseErrorsResource.properties.dbg
m. sslplus3.1.7.jar
n. template.ica
3. Launch the ColdFusion Administration Console (ex. http://ctxColdFusion/CFIDE/administrator/index.cfm
).
4. Login to the console.
5. Click on the Java and JVM settings under Server Settings menu list.


Customizing Web Interface 2.0 Using ColdFusion 9

Figure 4: Admin Console - Java and JVM Settings Page
6. Enter the Class Path to the following:
a. C:\CFusionMX\wwwroot\WEB-INF\lib, C:\CFusionMX\wwwroot\WEB-INF\classes,
C:\CFusionMX\wwwroot\WEB-INF\lib\sslplus3.1.7.jar, C:\CFusionMX\wwwroot\WEB-
INF\lib\nfuse.jar,C:\CFusionMX\wwwroot\WEB-
INF\lib\NFuseE.jar,C:\CFusionMX\wwwroot\WEB-INF\lib\ctxxml4j.jar
7. Click the Submit Changes button.
8. Restart the ColdFusion MX Application Server service.
NFuse.Properties Configuration
The NFuse.Properties file holds the path to the NFuse.conf file. This path must be updated to reflect the location of
where the NFuse.conf file is located.
ConfigurationFile=C:\\CFusionMX\\wwwroot\\WEB-INF\\lib\\NFuse.conf
NFuse.Conf Configuration
The NFuse.conf file holds the web interface 2.0 configuration information. The following entries must be updated, so
that the web interface objects access the correct farm.
1. Open NFuse.conf file.
2. Update the following fields
Field Name Value
SessionField.NFuse_Ic
onCache
/NFuseIcons/
SessionField.NFuse_T
emplatesDir
C:\\CFusionMX\\wwwroot\\WEB-INF\\lib\\
URLMapping./ c:\\inetpub\\wwwroot\\WI


Customizing Web Interface 2.0 Using ColdFusion 10
DTDDirectory C:\\CFusionMX\\wwwroot\\WEB-INF\\lib\\
StaticStringTextFile C:\\CFusionMX\\wwwroot\\WEB-INF\\lib\\nfuse.txt
SessionField.NFuse_F
arm1
ctxMetaFrame,Name:Farm1,XMLPort:8000,Transport:HTTP,SSLRelayPort:44
3,BypassDuration:60,LoadBalance:On
3. Save the NFuse.conf file.
4. Restart the www service.
5. Restart the ColdFusion MX Application Server service.
Internet Information Server (IIS) Configuration
For this proof-of-concept, the version of ColdFusion was installed to work with IIS. As a result, a virtual directory must
be created to contain the ColdFusion files. Launch IIS and create a virtual directory called WI under the Default Web
Site node. Once the directory is created, it may be used to store the ColdFusion script files.
Code Pages
Please refer to Appendix A
for the relevant ColdFusion pages that may be placed in the virtual directory. The code
pages provide a sample for creating a web interface for MetaFrame XP using ColdFusion.





Customizing Web Interface 2.0 Using ColdFusion 11
Additional Information
The documents listed below provide additional information relating to ColdFusion.
 Customizing Web Interface Guide
(http://knowledgebase.citrix.com/kb/entry!default.jspa?categoryID=243&entryID=2810&fromSearchPage=
true
).
 ColdFusion MX 6.1 LiveDocs (http://livedocs.macromedia.com/coldfusion/6.1/index.html
)
 http://help.websiteos.com/websiteos_en/definition_of_coldfusion.htm



Customizing Web Interface 2.0 Using ColdFusion 12
Appendix A – Code Scripts
Index.cfm

<html>
<head>
<title></title>
</head>
<body>
<table width="100%" border="0">
<tr>
<td width="100%" height="10%">
<table width="100%">
<tr>
<td width="10%" valign="middle">
<img src="images\citrix.gif" border="0">
</td>
<td valign="top" width="10%">
<img src="images\home_accessButton.gif" border="0">
</td>
<td valign="middle">
<img src="images\home_accessWhat.gif" border="0">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" height="10%">
<table width="100%" height="10%">
<tr>
<td bgcolor="#ff9933">
<font color="#ffffff" size="+3">
Welcome
</font>
</td>
</tr>
<tr>
<td>
<P><b>Please log in</b></P>
<P>To log in to the application portal, enter your
credentials and click Log In.<BR>If you do not know your login information,
please contact your help desk or system administrator.</P>
</td>
</tr>
<tr>
<td bgcolor="#ff9933">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" height="70%">


Customizing Web Interface 2.0 Using ColdFusion 13
<form name="frmWILogin" method="Post">
<table align="center" width="30%" border="0">
<tr>
<td colspan="2" align="left">
<img src="images\nfusehead.gif" border="0">
</td>
</tr>
<tr>
<td bgcolor="#ff9933" colspan="2" align="left">
<font color="#ffffff"><b>login</b></font>
</td>
</tr>
<tr>
<td align="right"><b>Username:</b></td>
<td><input type="text" name="txtUsername" size="30"></td>
</tr>
<tr>
<td align="right"><b>Password:</b></td>
<td><input type="password" name="txtPassword" size="30"></td>
</tr>
<tr>
<td align="right"><b>Domain:</b></td>
<td><input type="text" name="txtDomain" size="30"></td>
</tr>
<tr>
<td align="right" colspan="2">
<img src="images/loginbtn.gif" border="0" onclick="sendForm()">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td width="100%" height="10%">
<table width="100%">
<tr>
<td>
&nbsp;
</td>
</tr>
<tr>
<td bgcolor="#ff9933">
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

<script language="JavaScript">
function sendForm()
{
frmWILogin.action="applist.cfm";
frmWILogin.submit();
}
</script>




Customizing Web Interface 2.0 Using ColdFusion 14
Applist.cfm
<cftry>
<cfapplication name="WI" sessionmanagement="Yes" sessiontimeout=#CreateTimeSpan(0,0,45,0)#>
<cflock timeout=20 scope="Session" type="Exclusive">

<cfset Session.User = form.txtUsername>
<cfset Session.Pwd = form.txtPassword>
<cfset Session.domain = form.txtDomain>
</cflock>

<cfcatch>
<cfoutput>
<script language="Javascript">
window.location = "index.cfm";
</script>
</cfoutput>
</cfcatch>

</cftry>
<cftry>
<cfset intNumColumns = 3>

<cfobject action="create" type="java" class="com/citrix/nfuse/ClearTextCredentials" name="obj">
<cfset obj.initialize(Session.User, Session.domain, Session.Pwd)>

<cfobject action="create" type="java" class="com/citrix/nfuse/FarmFactory" name="objFarm">
<cfset objProxy = objFarm.createFarmProxy()>
<cfset bln = objProxy.initializeFarm(obj)>
<cfset objAppData = objProxy.getAppDataList()>
<cfset objAppEnum = objAppData.getAppEnumerator()>
<cfset intNumApps = objAppEnum.getNumAppsFlat("")>




<html>
<head>
<title></title>
</head>
<body>
<table width="100%" border="0" ID="Table1">
<tr>
<td width="100%" height="10%">
<table width="100%" ID="Table2">
<tr>
<td width="10%" valign="middle">
<img src="images\citrix.gif" border="0">
</td>
<td valign="top" width="10%">
<img src="images\home_accessButton.gif" border="0">
</td>
<td valign="middle">
<img src="images\home_accessWhat.gif" border="0">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" height="10%">
<table width="100%" height="10%" ID="Table3">
<tr>
<td bgcolor="#ff9933">


Customizing Web Interface 2.0 Using ColdFusion 15
<font color="#ffffff" size="+3">
Welcome
</font>
</td>
</tr>
<tr>
<td>
<P><b>MetaFrame XP Applications</b></P>
<P>Welcome to your personalized view of MetaFrame XP
applications. The Applications box contains icons for the applications that you
can use. Click an icon to launch an application. Click Refresh to view the
latest applications. Click Settings to change your settings. Click a folder icon
to display its contents. If you have problems using an application, please
contact your help desk or system administrator for more information.</P>
</td>
</tr>
<tr>
<td bgcolor="#ff9933">
&nbsp;
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" height="70%">
<table align="center" width="30%" border="0">
<tr>
<td colspan="2" align="left">
<img src="images\nfusehead.gif" border="0">
</td>
</tr>
<tr>
<td bgcolor="#ff9933" colspan="2" align="left">
<font color="#ffffff"><b>Applications</b></font>
</td>
</tr>
<cfloop index="i" From="1" To=#intNumApps# step="1">
<cfset currentApp = objAppEnum.nextAppFlat("")>
<CFIF 1 IS 1 Mod #intNumApps#>
<cfoutput><tr></cfoutput>
</CFIF>
<cfset strIcon = Mid(currentApp.getIconFile(), 2, Len(currentApp.getIconFile()))>
<cfoutput><td>
<a
href="launch.cfm?NFuse_Application=#currentApp.getNameURLEncoded()#&NFuse_AppFriendlyNameURLEncoded=#currentApp.g
etFriendlyNameURLEncoded()#"><img src="#strIcon#" Align="center" border="0"><br>#currentApp.getFriendlyName()#</a>
</td></tr></cfoutput>
</cfloop>
</table>

</td>
</tr>
<tr>
<td width="100%" height="10%">
<table width="100%" ID="Table5">
<tr>
<td>
&nbsp;


Customizing Web Interface 2.0 Using ColdFusion 16
</td>
</tr>
<tr>
<td bgcolor="#ff9933">
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<cfcatch>
<cfoutput>#cfcatch.Message#</cfoutput> <br>
<cfoutput>#cfcatch.Detail#</cfoutput> <br>
</cfcatch>
</cftry>

Launch.cfm
<cftry>
<cfapplication name="WI"
sessionmanagement="Yes"
sessiontimeout=#CreateTimeSpan(0,0,45,0)#>

<cfset user=Session.User>
<cfset password = Session.Pwd>
<cfset domain = Session.domain>


<cfcatch>
<cfoutput>

<script language="Javascript">
window.location = "index.cfm";
</script>
</cfoutput>
</cfcatch>

</cftry>
<cftry>
<cfset cookieStr="NFuse_User=" & user & "&NFuse_Password=" & password & "&NFuse_Domain=" &
domain>
<cfobject action="create" type="java" class="com/citrix/nfuse/TemplateParser"
name="Parser">
<cfset Parser.setCookieSessionFields(cookieStr)>
<cfset urlString = cgi.query_string>
<cfset Parser.setUrlSessionFields(urlString)>
<cfset currentPath="c:\inetpub\wwwroot\webcounter">


<cfset Parser.setSingleSessionField("NFuse_Template", "template.ica")>

<CFIF Parser.Parse() Is True>
<cfcontent type = "application/x-ica">
<cfset Continue = True>
<cfset HTMLString = "">

<CFLoop condition = "Continue IS True">
<cfset HTMLString = Parser.getNextDataBlock()>
<cfif Len(HTMLString) Is 0 >


Customizing Web Interface 2.0 Using ColdFusion 17
<cfset Continue = False>
<cfelse>

<cfoutput>#HTMLString#</cfoutput>
</cfif>
</CFLoop>
</CFIF>
<cfcatch>
<cfoutput>
Could not launch application. Please contact your administrator.
</cfoutput>
</cfcatch>

</cftry>








851 West Cypress Creek Road Fort Lauderdale, FL 33309 954-267-3000 http://www.citrix.com

Copyright © 2004 Citrix Systems, Inc. All rights reserved. Citrix, and ICA are registered trademarks, and MultiWin and MetaFrame are
trademarks of Citrix Systems, Inc. All other products and services are trademarks or service marks of their respective companies.
Technical specifications and availability are subject to change without prior notice.