Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-1349

Cannot open 'Process & Task Dashboard' under NAT environment

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • 6.0.1
    • BAM
    • 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.

      https://github.com/droolsjbpm/jbpm-console-ng/blob/master/jbpm-console-ng-dashboard/jbpm-console-ng-dashboard-client/src/main/java/org/jbpm/dashboard/renderer/client/panel/DashboardPanelPresenter.java#L40

      1. 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.

            david.magallanes David Gutierrez
            rhn-support-tkobayas Toshiya Kobayashi
            Petr Široký Petr Široký
            Petr Široký Petr Široký
            Alessandro Lazarotti, Amana Juricic, David Gutierrez, Kris Verlaenen, Marcelo Leitner, Marek Baluch, Marek Winkler (Inactive), Musharraf Hussain, Petr Široký, Rajesh Rajasekaran, Toshiya Kobayashi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: