• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
XenApp Developer Network

Talking to the XML Service

Description

This tool offers a graphical user interface to build requests to be sent to the XML service. The response is displayed for inspection. Thus, the XMLServiceExplorer allows administrators to debug how the XML service works and what kind of information is passed to Web Interface.

Details

Presentation Server provides a system service running on port 80 (by default) called Citrix XML Service. As implied by its name, the service uses XML to format the data exchanged over HTTP. All requests and responses are defined in the Document Type Definition (DTD) called NFuse.dtd. This file is distributed with all versions of Web Interface (C:\inetpub\wwwroot\Citrix\XenApp\conf).

By posting any correctly formatted request to the XML service on its designated port and to the path /scripts/wpnbr.dllresults in a response containing the desired information. This works for all versions of Presentation Server, XenApp and XenDesktop.

You could now go and start building your own XML requests using tools like Fiddler2, a Web Debugging Proxy, and sending them to a XML service of your choice. But wouldn't that be wearisome? Wouldn't you rather create these requests using a GUI? That's what I thought and why I wrote an application called XmlServiceExplorer enabling you (and me - all of us) to communicate with the XML service to ...

  • ... ask for information you would otherwise be denied.
  • ... debug the behaviour of the server farm.
  • ... mimic the steps performed by Web Interface like I did for this article.

To get going, all you need is to download the executable and place a copy of your NFuse.dtdin the same directory as the executable. It is based on Visual Basic .NET so that the .NET Framework 2.0 is also a requirement to run the XmlServiceExplorer.
Using the original DTD provided by Citrix Web Interface results in an exception after launch. This is caused by a syntactical error in two definitions. To resolve this issue, replace the definition of the attribute list of IconData and DesiredIconData with the following text. This change does not alter the specified XML structure but merely moves the comments to correct the syntactical error in the DTD.

<!ATTLIST IconData
  size CDATA #REQUIRED
  bpp CDATA #REQUIRED
  format CDATA #REQUIRED>
<!- size: 16 | 32 | 48 | 128 | 256 ->
<!- bpp: 4 | 8 | 16 | 32 ->
<!- format: raw | png ->
<!ATTLIST DesiredIconData
  size CDATA #IMPLIED
  bpp CDATA #IMPLIED
  format CDATA #IMPLIED>
<!- format: raw | png ->
<!- size: 16 | 32 | 48 | 128 | 256 ->
<!- bpp: 4 | 8 | 16 | 32 ->



More information is available in the original article: http://blogs.sepago.de/nicholas/2008/07/17/talking-to-the-xml-service/

Download

The XmlServiceExplorer can be downloaded here: http://blogs.sepago.de/nicholas/2008/07/17/talking-to-the-xml-service/[]

Tutorial

Several tutorials about using the XmlServiceExplorer can be found here: http://blogs.sepago.de/nicholas/tag/xmlserviceexplorer/

Disclaimer

These software applications are provided to you as is with no representations, warranties or conditions of any kind. You may use and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the software application may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the software application fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the software application. In no event should the code be used to support of ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SOFTWARE APPLICATION, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the code.

Tags

xenapp xenapp Delete
xendesktop xendesktop Delete
xenapp codeshare xenapp codeshare Delete
xenapp tools xenapp tools Delete
Enter tags to add to this page:
Please wait 
Looking for a tag? Just start typing.
  1. Sep 23, 2008

    Vishal Ganeriwala says:

    Great article Nicholas  keep them coming..

    Great article Nicholas  keep them coming..

Add Comment

Related Links