Prev: How to get an include-path of jni.h that is able to bedifferent on different platforms.
Next: How to make CORBA pick the appropriate Proxy?
From: Fencer on 27 Jan 2010 10:02 Hello, I have a problem with getResourceAsStream(). I'm using these tools: Eclipse JEE edition version 3.5.1 with the Apache CXF plugin and Apache Tomcat version 6.0.20. Java is version 6. This is under Windows. I've written a very simple JAX-WS web service, here's the complete code: package bioweb; import java.rmi.Remote; import java.rmi.RemoteException; import javax.jws.WebMethod; import javax.jws.WebService; @WebService(name="BioWebInterface", targetNamespace="http://bioweb/") public interface BioWebInterface extends Remote { @WebMethod(operationName="sayHello", action="urn:SayHello") public String sayHello() throws RemoteException; } package bioweb; import java.io.InputStream; import java.rmi.RemoteException; import javax.annotation.PostConstruct; import javax.jws.WebService; @WebService(targetNamespace="http://bioweb/", endpointInterface="bioweb.BioWebInterface", portName="BioWebPort", serviceName="BioWebService") public class BioWeb implements BioWebInterface { @Override public String sayHello() throws RemoteException { return "Hello from the BioWeb Web Service!"; } @PostConstruct protected void init() { System.out.println("I'm in the postconstruct method."); InputStream is1 = getClass().getClassLoader().getResourceAsStream("get-all-model-links.xquery"); InputStream is2 = BioWeb.class.getClassLoader().getResourceAsStream("get-all-model-links.xquery"); if (is1 != null && is2 != null) { System.out.println("Successfully loaded resource using both methods!"); } else if (is1 != null) { System.out.println("Successfully loaded resource using method 1."); } else if (is2 != null) { System.out.println("Successfully loaded resource using method 2."); } else { System.err.println("Not successful at all in loading the resource!"); } } /** * @param args */ public static void main(String[] args) { new BioWeb().init(); } } I've created folder called xqueries and added it to the classpath (under project properties->java build path->libraries tab->add class folder button and in it I have an XQuery file named get-all-model-links.xquery (will be lots more later). When I run the BioWeb class like a normal Java program (by invoking main(), which calls init(), I can load the XQuery resource fine, the output is: I'm in the postconstruct method. Successfully loaded resource using both methods! However, when run as a service (then Tomcat calls the init() method due to its @PostConstruct annotation), the loading of the resource fails. The output is: I'm in the postconstruct method. Not successful at all in loading the resource! It seems that the class folder I added isn't visible anymore or maybe the "URL:s" need to be altered when in this context. I'm very new at this web stuff and I need help, I've had this problem for two days now. :( I'm doing all the interfacing with Tomcat via Eclipse btw, and I haven't really tampered with any settings for it. Thanks for reading and for any replies! - Fencer
From: Fencer on 27 Jan 2010 10:48 On 2010-01-27 16:02, Fencer wrote: > Hello, I have a problem with getResourceAsStream(). [snip my OP] I believe I solved this problem! - Fencer
From: Lew on 27 Jan 2010 15:00 Fencer wrote: > Hello, I have a problem with getResourceAsStream(). > > [snip my OP] > > I believe I solved this problem! > Thank you so much for sharing the solution so that others besides yourself may benefit! -- Lew
From: Daniel Pitts on 27 Jan 2010 13:17 On 1/27/2010 7:48 AM, Fencer wrote: > On 2010-01-27 16:02, Fencer wrote: >> Hello, I have a problem with getResourceAsStream(). > [snip my OP] > > I believe I solved this problem! It is often considered courteous to explain how you solved your problem. Others may find your post while looking into a similar problem, and would benefit from your explanation. -- Daniel Pitts' Tech Blog: <http://virtualinfinity.net/wordpress/>
From: Roedy Green on 28 Jan 2010 01:14
On Wed, 27 Jan 2010 16:48:11 +0100, Fencer <no.i.dont(a)want.mail.from.spammers.com> wrote, quoted or indirectly quoted someone who said : > >I believe I solved this problem! Some day someone will have the same problem as you, find you question in Google then curse you for refusing to share your solution. -- Roedy Green Canadian Mind Products http://mindprod.com Computers are useless. They can only give you answers. ~ Pablo Picasso (born: 1881-10-25 died: 1973-04-08 at age: 91) |