[THIN] KB: CTX104063 - Explaining and Changing the Citrix XML Service Port

  • From: "Jim Kenzig Kenzig.com" <jkenzig@xxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Mon, 22 Aug 2005 08:08:28 -0700 (PDT)

CTX104063 - Explaining and Changing the Citrix XML Service Port 

This document was published at: 
http://support.citrix.com/kb/entry.jspa?externalID=CTX104063 


Document ID: CTX104063, Created on: May 7, 2004, Updated: Jul 11, 2005 
Products: Citrix MetaFrame XP 1.0 for Microsoft Windows 2000, Citrix MetaFrame 
XP 1.0 for Microsoft Windows 2003, Citrix MetaFrame Presentation Server 3.0 for 
Microsoft Windows 2000, Citrix MetaFrame Presentation Server 3.0 for Microsoft 
Windows 2003 
 
Explaining the XML Service

The Citrix XML service was introduced with MetaFrame 1.8 Service Pack 2 or 
greater and a Feature Release 1 license needed to be installed. MetaFrame XP 
and greater incorporates the Citrix XML service as a standard feature.

When the MetaFrame 1.8 Service Pack 2 or greater is installed and the server 
rebooted, the Citrix XML Service binaries will be placed on the system whether 
the Citrix XML Service was or was not installed. All that must be done to 
complete the Citrix XML Service installation is to register the XML Service 
itself by running the ctxxmlss command.

Unlike MetaFrame XP or greater, MetaFrame 1.8 does not allow for the sharing of 
port 80 with IIS.

The below command line syntax applies to all MetaFrame environments.

CTXXMLSS.EXE Command Line Usage

Syntax

CTXXMLSS [switches] [/Rnnnn] [/Knnn] [/U] [/?]

Parameters

/Rnnnn - Registers the service on port number nnnn

/Knnn - Keep-Alive nnn seconds (default 9).

/U - Unregisters the service.

/? (help) - Displays the syntax for the utility and information about the 
utilities options. 

After the Citrix XML Service is registered, a new service will appear in the 
Services Applet and registry entries are created. Ensure this service is 
started. 

To determine what port is being used, either look in the Citrix Management 
Console (MetaFrame XP and greater) and/or locate the following registry key 
(assuming IIS port sharing is not being used). 

WARNING: Using Registry Editor incorrectly can cause serious problems that may 
require you to reinstall your operating system. Microsoft cannot guarantee that 
problems 
resulting from the incorrect use of Registry Editor can be solved. Use Registry 
Editor at 
your own risk.For information about how to edit the registry, view the 
"Changing Keys 
and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete 
Information in the Registry" and "Edit Registry Data" Help topics in 
Regedt32.exe. Make 
sure you back up the registry before you edit it. If you are running Windows 
NT, also 
update your Emergency Repair Disk (ERD).

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CtxHttp. 

Value: "TcpPort" If the value is listed in hex, changed to a decimal notation.

If Microsoft IIS is installed, the administrator of the MetaFrame XP 
installation is given the option to install the Citrix XML Service and share a 
port with IIS.

In fact, no separate XML service is running. IIS serves the XML data using an 
ISAPI filter named Wpnbr.dll located in the \Inetpub\Scripts folder. To remove 
the Citrix XML Service functionality from your MetaFrame server, simply rename 
or delete the Wpnbr.dll file.

Lastly, once the XML Service port is changed on the MetaFrame Servers, change 
NFuse or Web InterFace, MetaFrame Secure Access Manager, or the Program 
Neighborhood Client to use the new port.

Un-registering the XML Service

1. Open a ?Command Prompt? window

2. Run ?ctxxmlss /u? (This command will un-register the Citrix XML service and 
mark it for deletion)

3. Reboot the server


Registering the XML on a port other than sharing with IIS

1. Un-register the service using the instructions above.

2. Open a ?Command Prompt? window

3. Run ctxxmlss /r[Port Number] (Notice that there is no space between the 
switch ?/r? and the port number.

4. Reboot the server or open the service control manager and manually start the 
Citrix XML Service



Registering the XML Service to share the port with IIS 5.0

1. Un-register the service using the instructions above.

2. Copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the ?\Inetpub\Scripts? 
folder. ***(If you are running MetaFrame Presentation Server 3.0 then the 
clm.dll file is no longer needed).***

3. If you are running MetaFrame Presentation Server 3.0 locate the file 
ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts

4. Open the IIS Manager MMC Snap-in

5. Expand the ?Default Web Site?

6. Right click on the ?Scripts? folder and click on properties

7. On the ?Virtual Directory? tab make sure that the ?Execute Permissions? 
field is set to ?Scripts and Executables?

8. Open a Command Prompt windows

9. Run the command ?iisreset? (Be aware that this command will restart all IIS 
related services)


Registering the XML Service to share the port with IIS 6.0

By default when installing IIS 6.0 the virtual Scripts Folder is not created

1. Un-register the service using the instructions above.

2. Navigate to the ?\Inetpub? folder and create a new folder with the name of 
?Scripts?

3. Open the IIS Manager MMC Snap-in

4. Right click on the ?Default Web Site? and select New | Virtual Directory?

5. Click Next

6. Under Alias: type the name ?Scripts? and click Next

7. Under Path: type Drive Letter:\Inetpub\Scripts and click Next

8. Under Allow the following permissions: make sure that the following are 
selected

a. Read

b. Run Scripts (such as ASP)

c. Execute (such as ISAPI applications or CGI)


9. Click Next and click Finish

10. Right click on the Scripts virtual directory and go to Properties

11. Under the Virtual Directory tab make sure that the Execute Permissions: 
field is set to Scripts and Executables

12. Under the Directory Security tab click on Edit? under Authentication and 
Access Control and make sure that the Enable anonymous access check box is 
checked

13. Now copy the files ctxxmlss.txt, clm.dll, wpnbr.dll to the newly create 
Scripts folder under the Inetpub folder. ***(If you are running MetaFrame 
Presentation Server 3.0 then the clm.dll file is no longer needed).***

14. If you are running MetaFrame Presentation Server 3.0 locate the file 
ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts

15. In IIS Admin right click Web Service Extensions, select Add a new web 
service extension. Type the name Citrix XML ISAPI in the Extension name field 
and hit add. In the Add File popup window, type in or browse to the location of 
the wpnbr.dll file. Then finish by checking the Set the extension status to 
allowed box.

16. For MetaFrame Presentation Server 3.0 In IIS Admin right click Web Service 
Extensions, select Add a new web service extension. Type the name Citrix XML 
Administration ISAPI in the Extension name field and hit add. In the Add File 
popup window, type in or browse to the location of the ctxadmin.dll file. Then 
finish by checking the Set the extension status to allowed box.

17. Run the command ?iisreset? (Be aware that this command will restart all IIS 
related services)


Note: The file ?ctxxmlss.txt? is located in the ?Program Files\Citrix\System32? 
folder and the files ?clm.dll? and wpnbr.dll are located in the 
?%SYSTEMROOT%\System32? folder

With MetaFrame Presentation Server 3.0 all the files required are located in 
?Program Files\Citrix\System32?


Other related posts: