Try putting it in WEB-INF/classes/data/config/stock.properties
On 8/12/05, Clark Dorman <[EMAIL PROTECTED]> wrote:
> My web service needs to read a properties file but cannot find it. The
> properties file is currently in the jar containing the web service, so
> the jar contains things like:
>
> com.ncc.wrap.Configuration.class
> ....
> com.ncc.wrap.StockService.class
> ...
> data/config/stock.properties
>
> The Configuration class reads the properties and the StockService class
> uses them. When I run it as a normal jar, Configuration can find the
> properties file (the jar is in the classpath), but running under Axis, I
> get an exception that it cannot find the properties file. How do I tell
> Configuration to find the file? The error I get in Tomcat's log is:
>
> com.ncc.wrap.WRAPException: Unable to open file:
> data/config/stock.properties
> at com.ncc.wrap.Configuration.initialize(Configuration.java:160)
>
>
> I have tried to use a servlet to help. The ConfigurationSerlet.java
> class has a function:
>
> public void init()
> {
> ServletContext sc = getServletConfig().getServletContext();
> try
> {
> Configuration.initialize(sc);
> }
> catch (Exception ex)
> {
> ex.printStackTrace();
> }
> }
>
> and I add to the Axis web.xml the following:
>
>
> <servlet>
> <servlet-name>WRAPConfiguration</servlet-name>
> <servlet-class>com.ncc.wrap.ConfigurationServlet</servlet-class>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> and change Configuration.java to include a function that takes a servlet
> context in the initialization:
>
> String resource = "/" + DEFAULT_CONFIG_FILE;
> InputStream is = sc.getResourceAsStream( resource );
>
> logger.info(" input stream was: " + is + ". Resource was: "
> + resource);
> logger.info("servlet context" + sc );
>
> wrapProperties.load(is);
>
> However, the problem with this is that the InputStream 'is' is null.
> I've tried lots of variations but no luck.
>
> Any help would be greatly appreciated.
>
> Clark
>
>
--
Javier Gonzalez Nicolini