-
Bug
-
Resolution: Done
-
Critical
-
None
-
6.0.1
-
None
Description of problem:
Under NAT environment, assume a browser and a BPMS server are located in different network segments.
for example)
Server IP: 192.168.46.11
NAT-ed IP: 10.168.56.11
A browser (from a different network segment) accesses to business-central via NAT-ed IP (http://10.168.56.11:8080/business-central). Then press 'Process & Task Dashboard' from menu.
ConnectException is thrown in server side.
====
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)
...
====
A problem here 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.
- Direct access from browser to http://10.168.56.11:8080/dashbuilder/workspace/jbpm-dashboard works fine.
Steps to Reproduce:
1. Under NAT environment,
2. Access to business-central via NAT-ed IP (http://10.168.56.11:8080/business-central) with A browser from a different network segment.
3. Press 'Process & Task Dashboard' from menu.
Actual results:
Dashbuilder page is not loaded. Server throws ConnectException.
Expected results:
Dashbuilder page is loaded.