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?