Specialized Administration > Site Maintenance > Using Java Management Extensions (JMX) > Remote JMX Monitoring > Connecting Remotely when there are Firewalls
  
Connecting Remotely when there are Firewalls
Firewalls are generally configured to block RMI. Unfortunately, RMI is the built-in wire protocol for "JSR 160" JMX remote communication in the JDK. JSR 160 specifies a general architecture for JMX remote protocols, but no other protocols have been included in the latest supported version of the JDK.
Windchill provides a specialized, non-transparent HTTP(S) proxy for JMX JSR 160 remote communications called JmxProxyServlet. In terms of network access, this proxy only requires normal HTTP(S) access to the Windchill web application.
To use this JSR 160 savvy JMX console and the JMX RMI connections that you have established as a result of reading earlier sections in this guide, perform the following steps:
1. Copy the following files from codebase/lib to your Java JDK jre/lib/ext directory:
WtHttpClientAddOns.jar
WtJmxClientConn.jar
You can do this by browsing to the following URL in the browser, picking these files, and saving the results to your Java JDK jre/lib/ext directory:
http(s)://yourHostAndPort/yourWebAppName/lib
2. Provide your JMX console with the following JSR 160 connection URL:
service:jmx:ptchttp://yourHostAndPort/yourWebAppName/servlet/JmxProxyServlet?jmxurl
=service:jmx:rmi://jmxTargetHost/jndi/rmi://jmxTargetHost:jmxTargetPort/jmxrmi
where you should replace the following:
http with https if using https.
yourHostAndPort with your web server host and port.
yourWebAppName with your Windchill web application name, for example, Windchill_10.
jmxTargetHost and jmxTargetPort with the host name and port, respectively, that the proxy servlet should connect to using JMX RMI.
For JConsole, the URL required in step 2 can either be provided on the command line or by using the Remote Process option on the JConsole connection window.
A utility exists to ease the process of creating the required URLs. To use the utility, the JARs identified in step 1 do not have to be installed in the JDK jre/lib/ext directory as long as they are in the same directory as each other and have their original names.
On the command line, enter the following commands:
From within the same directory as WtJmxClientConn.jar:
...java -jar WtJmxClientConn.jar -usage
From anywhere (as long as WtJmxClientConn.jar is in the classpath):
...java com.ptc.jmx.client.Main -usage
* 
You can use the help to enter a command line or graphical utility to construct a JMX service URL and optionally launch JConsole with it. On Windows, you can simply double-click on WtJmxClientConn.jar to launch the graphical version of the utility.