The 404 or Not Found error message is a HTTP standard response code indicating that the client was able to communicate with a given server, however the server could not find what was requested?

It is understood that from BOE XI 4.x BIP Webapp supports OSGI bundles. Hence BOE 4.x webApps can be either OSGI or NON-OSGI webApps.

Coming to the Occurrence(s) when we could find such errors(HTTP responses)

1.The web site hosting server will typically generate a “404 Not Found” web page when a user attempts to follow a broken link, dead link, or dangling link in case of both OSGI and NON OSGI context.

In such cases we need to check the below

  • We need to check that URL is properly constructed. i.e. context path, file path etc. has been proper or not.
  • Sometimes URL will be encoded and need to check whether URL has been encoded or not.

2. Sometimes if we have some problem with OSGI bundle.

In such cases we need to check the below.

  • We need to check OSGI Bundles or running or not as follows.
  • First thing is we need to collect “sbInitLog.txt” which is a special log file that contains logging output which occurs when Servlet Bridge initializes. Currently this is only output to the sbInitLog.txt file. This files located in tomcats work dir: {Tomcat Home}/work/Catalina/localhost/BOE/This log file is generated after the first request comes into the server. This log file contains info about what config files were read, what bundles were started, and the state of the bundles.
  • If this file contains  an error saying “Error starting bundle=*some Bundle Name*” then we need to diagnostics osgi bundle to identify the problem why OSGI bundle did not start or it will tell you what constraints are unsatisfied, as follows.

Steps to check whether the OSGI bundles are running. { The below steps are specific to default BOE web server Tomcat}

  1. Stop Tomcat server.
  2. Go to the main web.xml for BOE (BOE/WEB-INF/web.xml)
  3. Modify the web.xml by adding in -console and port #, then save the web.xml
  4. Re-start server
  5. Go to putty, and telnet over to the  machine onto the port you specified, and click Open
  6. You should now have the OSGI console, and you can run the regular commands on the Console
  7. Run diag command with bundle given an ID and this bundle id can be find in sbInitLog.txt.
  8. Then it will tell us what constraints are unsatisfied

Sample:
osgi> diag 123

update@plugins/webpath.Performance Management/ [123]
  Direct constraints  which are unresolved:   Missing imported package com.businessobjects.clientaction.shared.jamentries_1.0.0.0.

This way we can check whether all OSGI bundle(s) are running as intended or not.

Hope this helps.

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

    1. Sateesh Babu Chilamakuri Post author

      As this is with in the context of BOE, we follow specific encoding standards, this is the responsibility of the Developer typically to verify whether the encoding is proper or not?

      of course there are many ways to encode.

      (0) 

Leave a Reply