Skip to Content

Hidden Tools functionality with ESR/ID JNLP files

In this blog, I will explore you with all the features that were covered till now in my blog series (check References) as “XI hidden tools” along with some new features with a very simple approach using ESR/ID jnlp files. All that we need to do is modify jnlp files. To understand jnlp formats, please check official java site.


  • Enabling debugging/developer mode
  • Passing user credentials via JNLP file (new)
  • Enabling exporting of mappings as XIM files in PI7.3
  • Referring your local workstation jars/PI server(s) jars and even combination of both in JNLP file (new)
  • Changing ESR/ID application names with your own custom names (new)
  • Enabling XSLT and abap mappings, without changing exchange profile (new)
  • Enable/disable single sign-on (new)
  • Changing the heap memory for the ESR/ID clients


  • Open XI/PI main page http://<xihost>:<port>/dir/start/index.jsp (or) http://<xihost>:<port>/rep
  • save ESR/IR and ID links as jnlp files to your local workstation
  • To edit/view, open jnlp file with any text editor with XML syntax highlighting feature e.g., Editplus
  • To enable debugging/developer mode & to pass the user credentials, add the below highlighted tags under “application-desc” node

<application-desc main-class=””>






<!– <jar href=”repository/” download=”lazy” part=”part-109″/> –>

And then add below property for option a)

<jar href=”http://<PI7.1hostname>:<PORT>/rep/repository/” download=”lazy” part=”part-109″/>

or below property for option b)

<jar href=”file:///C:/<DIR-PATH>/” download=”lazy” part=”part-109″/>

  • To enable you own names for ESR/ID swing applications, change

<property name=”jnlp.SAPMYNAME” value=”Your own Text”/>

e.g,. with <property name=”jnlp.SAPMYNAME” value=”Welcome to XI”/>


  • To enable abap XSLT and abap mappings (without requesting BASIS team to change exchange profile 😉 )

<property name=”” value=”R3_ABAP|Abapclass;R3_XSLT|XSL (ABAPEngine)”/>

  • To enable/disable single sign-on, use true/false for the below property

<property name=”” value=”false”/>

  • Changing the heap memory for the ESR/ID clients

<j2se version=”1.6+” initial-heap-size=”32m” max-heap-size=”512m”/>

<property name=”” value=”32m”/>

<property name=”” value=”512m”/>

  • Finally double click the modified jnlp file to be opened with default java web start application or force it with required javaw.exe java version

I strongly recommend above procedure only for development XI stacks. Please share your valuable feedback


Praveen Gujjeti


You must be Logged on to comment or reply to a post.
  • Hi Praveen,

    Thanks a lot. The export feature is extremely helpful, when working with graphic mapping after source/target structure changed. The built in adjust function is not stable. It caused often my ESR session crashed.

    Hope to read more great blogs from you.

    BTW I'm working on PI 7.31 and observed the downloaded jnlp file is changed every time when I download it again. I compared two files, and there was only one difference in the node fast at the bottom of file:


    It seems that this value is dynamically generated every time, when it is downloaded. At the first time I can use "javaws repository.jnlp" to lauch ESR, when I close my ESR session und try to log in again. I will fail with error message "Single Sign on failed". If I download the jnlp file again, then I can again use "javaws  repository.jnlp" to start ESR.

    • Hi Praveen,

      I disabled single sign on with

      <property name="" value="false"/>.

      Then there is no error message "single sign on faild" when launching ESR using jnlp on PI 7.3.1.

      best regards