Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-8057

HTTP Gateway Cannont Resolve Specified Targets Within the Web-ContextPath of a Deployed WAR/WAB

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • Fabric8 v1, Gateway
    • None
    • % %
    • Hide

      Example web application bundle attached.

      1. Create a fabric. Example:
      > fabric:create --wait-for-provisioning --zookeeper-password admin --bind-address nodex.redhat.com --resolver manualip --manual-ip nodex.redhat.com
      2. Create a chile container and assign the gateway-http profile. Example:
      > container-create-child --profile gateway-http nodex gatewayx
      3. Create a child container to host the web app. Example:
      > container-create-child --profile feature-fabric-web nodex workerx
      4. Create a webapp profile and add the bundle. Example:
      > profile-create test-time-service
      > profile-edit --bundle mvn:com.redhat.gss.example/time-service/1.0.0/war test-time-service
      5. Assign the profile to the container. Example:
      > container-add-profile workerx test-time-service
      6. Navigate to the base URL of the webapp in the host container (works). Example:
      http://nodex.redhat.com:8183/time/
      7. Navigate to the base URL of the webapp via the gateway (works). Example:
      http://nodex.redhat.com:9000/time/
      8. Navigate to a JSP within the webapp from the host container (works). Example:
      http://nodex.redhat.com:8183/time/location.jsp
      9. Navigate to a JSP within the webapp via the gateway (fails). Example:
      http://nodex.redhat.com:9000/time/location.jsp (Result: 404)

      Show
      Example web application bundle attached. 1. Create a fabric. Example: > fabric:create --wait-for-provisioning --zookeeper-password admin --bind-address nodex.redhat.com --resolver manualip --manual-ip nodex.redhat.com 2. Create a chile container and assign the gateway-http profile. Example: > container-create-child --profile gateway-http nodex gatewayx 3. Create a child container to host the web app. Example: > container-create-child --profile feature-fabric-web nodex workerx 4. Create a webapp profile and add the bundle. Example: > profile-create test-time-service > profile-edit --bundle mvn:com.redhat.gss.example/time-service/1.0.0/war test-time-service 5. Assign the profile to the container. Example: > container-add-profile workerx test-time-service 6. Navigate to the base URL of the webapp in the host container (works). Example: http://nodex.redhat.com:8183/time/ 7. Navigate to the base URL of the webapp via the gateway (works). Example: http://nodex.redhat.com:9000/time/ 8. Navigate to a JSP within the webapp from the host container (works). Example: http://nodex.redhat.com:8183/time/location.jsp 9. Navigate to a JSP within the webapp via the gateway (fails). Example: http://nodex.redhat.com:9000/time/location.jsp (Result: 404)

      Consider a We application bundle with multiple JSPs deployed to the Web-Context path. When navigating directly to the container to which the application is deployed, including the target JSP in the URL works:

      http://nodex.redhat.com:8183/time/location.jsp
      

      But navigating to the same URL via the gateway fails with a 404:

      http://nodex.redhat.com:9000/time/location.jsp
      

      Navigating to the Base URL of the webapp via the gateway works fine and brings up the default index.jsp:

      http://nodex.redhat.com:9000/time/
      

      I have tried a variety of combinations of Web-ContextPath values with and without wildcards in the bundle manifest and adding a variety of expressions to uriTemplate in io.fabric8.gateway.http.mapping-webapps.properties with no success.

              atarocch@redhat.com Andrea Tarocchi
              rhn-support-dhawkins Duane Hawkins
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: