Citrix Xenapp: XML Service is Missing!

Environment: Citrix Xenapp 6, on Windows Server 2008

Problem: Client found that the Citrix XML Service was missing in the services MMC console.  There appeared to be no Citrix errors in the event viewer of any kind, but the server was not acting as an XML broker, even though it had Citrix properly installed, and was specified as an XML broker on the Citrix Web Interface.

Troubleshooting: It was determined that Microsoft IIS was installed on this server.  It is a known issue that having IIS installed on the same server as Citrix XML (if sharig port 80) can cause the XML service to vanish. The customer did not know why IIS was installed, and confirmed there was no valid reason to have it on the server.  Explained that there are two options available:

a). Configure XML service to share port 80 with IIS

Registering the XML Service to share the port with IIS 5.0

Unregister the service using the previous instructions.
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).***
If you are running MetaFrame Presentation Server 3.0 or Citrix Presentation Server 4.0, locate the file ctxadmin.dll and copy it to a folder called ctxadmin under \Inetpub\Scripts.
If you are running Citrix Presentation Server 4.0, locate the files ctxconfproxy.dll,ctxsta.dll,ctxsta.config and copy them to \Inetpub\Scripts.
Open the IIS Manager MMC Snap-in.
Expand the Default Web Site.
Right-click the Scripts folder and click Properties.
On the Virtual Directory tab make sure that the Execute Permissions field is set to Scripts and Executables.
Open a command prompt window.
Run the iisreset command (be aware that this command will restart all IIS-related services).

Registering the XML Service to share the port with IIS 6.0

For Citrix Presentation Server 4.0 on Windows 2003, refer to CTX107683 – How to Configure the XML Service to Share with IIS.

Otherwise, follow these steps:

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

Unregister the service using the previous instructions.
Navigate to the \Inetpub folder and create a new folder named Scripts.
Open the IIS Manager MMC Snap-in.
Right-click the Default Web Site and select New | Virtual Directory…
Click Next.
Under Alias: type the name Scripts and click Next.
Under Path: type Drive Letter:\Inetpub\Scripts and click Next.
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)

Click Next and click Finish.
Right-click the Scripts virtual directory and go to Properties.
Under the Virtual Directory tab make sure that the Execute Permissions: field is set to Scripts and Executables.
Under the Directory Security tab, click Edit… under Authentication and Access Control and make sure that the Enable anonymous access check box is selected.
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).***
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.
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 click Add. In the Add File popup window, type in or browse to the location of the wpnbr.dll file. Then finish by selecting the Set the extension status to allowed check box.
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 click Add. In the Add File popup window, type in or browse to the location of the ctxadmin.dll file. Then finish by selecting the Set the extension status to allowed check box.
Run the iisreset command (be aware that this command restarts all IIS-related services).

Registering the XML Service to share the port with IIS 7.0

For XenApp Server 5.0 and 6.0 on Windows Server 2008 and R2, refer to CTX125107 – Configuring XML Service to Share a Port with IIS on 32 and 64 Bit Versions of Windows Server 2008.

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\System32 folder.

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

 b). Uninstall IIS, and re-register the Citrix XML service
Unregistering the XML Service

Open a command Prompt window.
Run ctxxmlss /u (This command unregisters the Citrix XML Service and marks it for deletion).

Registering the XML Service on a port other than sharing with IIS

Unregister the service using the previous instructions.
Open a command Prompt window.
Run ctxxmlss /r[Port Number] (Notice that there is no space between the switch “/r” and the port number.
Open the service control manager and manually start the Citrix XML Service.

Conclusion: The end result should be that the Citrix XML Service will show up in your services MMC console once again, and the Xenapp server in question should respond properly to XML requests.

Reference: CTX104063

 

 

About Citrix Blogger

Citrix Techs is a community of bloggers who write about Application Virtualization, Citrix Products, and Remote Access.
This entry was posted in Xenapp. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


8 × = thirty two

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>