Unable to access "Process & Task Dashboard" page while running in NAT environment for JBoss BPM Suite 6.0.2

Solution Unverified - Updated -

Environment

  • Red Hat JBoss Business Process Management Suite (BPM Suite) 6.0.2

Issue

Under NAT environment, assume a browser and a BPMS server are located in different network segments:

Server IP: 192.168.46.11
NAT-ed IP: 10.168.56.11

It is not possible to access Process & Task Dashboard page with a browser from a different network segment. The following ConnectException error raises in server side by clicking on Process & Task Dashboard tab from menu:

08:14:28,458 ERROR [stderr] (http-/192.168.46.11:8080-6) java.net.ConnectException: Connection timed out
08:14:28,459 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.PlainSocketImpl.socketConnect(Native Method)
08:14:28,460 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
08:14:28,460 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
08:14:28,460 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
08:14:28,461 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
08:14:28,461 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.Socket.connect(Socket.java:529)
08:14:28,461 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.Socket.connect(Socket.java:478)
08:14:28,461 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
08:14:28,462 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
08:14:28,462 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.http.HttpClient.openServer(HttpClient.java:525)
08:14:28,462 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.http.HttpClient.<init>(HttpClient.java:208)
08:14:28,463 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.http.HttpClient.New(HttpClient.java:291)
08:14:28,463 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.http.HttpClient.New(HttpClient.java:310)
08:14:28,463 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:987)
08:14:28,463 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
08:14:28,464 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841)
08:14:28,464 ERROR [stderr] (http-/192.168.46.11:8080-6)        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
08:14:28,464 ERROR [stderr] (http-/192.168.46.11:8080-6)        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
08:14:28,465 ERROR [stderr] (http-/192.168.46.11:8080-6)        at org.jbpm.dashboard.renderer.service.impl.DashboardRendererServiceImpl.getAppStatus(DashboardRendererServiceImpl.java:22)

Resolution

This issue has been fixed in BPM Suite 6.0.3. Now these three system properties have been introduced:

  • dashbuilder.bind.address
  • dashbuilder.bind.port
  • dashbuilder.bind.timeout

If a BPMS server is under NAT environment, use dashbuilder.bind.address and dashbuilder.bind.port to configure an address/port which is accessible from the segment where the BPMS server is located as follows:

./standalone.sh -Ddashbuilder.bind.address=192.168.10.10 -Ddashbuilder.bind.port=8080

Root Cause

The problem is that DashboardPanelPresenter passes the NAT-ed IP (10.168.56.11) to server side and DashboardRendererServiceImpl.getAppStatus() accesses to http://10.168.56.11:8080/dashbuilder/workspace/jbpm-dashboard from the BPMS server. It throws the ConnectException because 10.168.56.11 is not accessible from the segment where BPMS is located.

A BZ1100150 was raised to fix this issue.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments