What about configuring something at the servlet container level, rather than web app.
Tomcat allows you to you to configure JNDI resources, but I have no experiece of other servlet containers: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-resources-howto.html Niall ----- Original Message ----- From: "Martin Wegner" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <user@struts.apache.org> Sent: Wednesday, January 26, 2005 3:27 PM Subject: Re: PlugIn and the base URL > Niall, > > That would. Except it would require our customer to copy the WAR file to > the webapps directory, start Tomcat, wait a bit, stop Tomcat, find the > struts-config.xml file, edit it, save it and then start Tomcat again. Or > I could put the URL is an external config file, outside of the WAR file, > that if it exists is used by the web app. > > Both are viable options. If the web app can figure out the URL on its own > then it would be foolproof. > > Thanks. > > > --Marty > > --- Niall Pemberton <[EMAIL PROTECTED]> wrote: > > > Wouldn't the simplest thing be to just add a "url" property to the > > PlugIn > > that initializes your SOAP service? > > > > <plug-in className="..."> > > <set-property property="url" > > value="http://blahblahblah.com:8080/AppName/"/> > > </plug-in> > > > > Niall > > > > ----- Original Message ----- > > From: "Martin Wegner" <[EMAIL PROTECTED]> > > To: "Struts Users Mailing List" <user@struts.apache.org> > > Sent: Wednesday, January 26, 2005 3:12 PM > > Subject: RE: PlugIn and the base URL > > > > > > > David, > > > > > > My Struts app contains an Axis-based SOAP service. The Struts app > > > initializes the call dispatcher for the SOAP service. This dispatcher > > > needs to know the URL of itself. This is a requirement of the > > semantics > > > of the SOAP service (outside of my control). So a Listener or a Plug > > In > > > appear to be the only way to try to determine the URL before the SOAP > > > service is open for business. > > > > > > Thanks. > > > > > > > > > --Marty > > > > > > --- David Suarez <[EMAIL PROTECTED]> wrote: > > > > > > > Is your plug-in a 3rd party type component? What is the purpose of > > > > obtaining the URL? Maybe there's a suitable alternative depending > > on > > > > your requirements (ie. A Filter that would instantiate the objects > > you > > > > need to populate on the first request? A base action that lazy > > loads > > > > your config stuff?) > > > > > > > > Just a thought...djsuarez > > > > > > > > -----Original Message----- > > > > From: Martin Wegner [mailto:[EMAIL PROTECTED] > > > > Sent: Wednesday, January 26, 2005 12:18 AM > > > > To: Struts Users Mailing List; Dakota Jack > > > > Subject: Re: PlugIn and the base URL > > > > > > > > > > > > I am looking for the: > > > > > > > > http://blahblahblah.com:8080/AppName/ > > > > > > > > As Craig said I can get that if I have a Request object. But from a > > > > PlugIn I don't have that. I can think of some ugly hacks but > > nothing > > > > clean. > > > > > > > > > > > > --Marty > > > > > > > > --- Dakota Jack <[EMAIL PROTECTED]> wrote: > > > > > > > > > Do you want the URL or the Internet Protocol address? I have some > > > > > ideas on the latter. > > > > > > > > > > Jack > > > > > > > > > > > > > > > On Tue, 25 Jan 2005 21:05:30 -0800 (PST), Martin Wegner > > > > > <[EMAIL PROTECTED]> wrote: > > > > > > Jack, > > > > > > > > > > > > That tells me where the JAR files are stored which is cool. But > > > > what > > > > > I am > > > > > > looking for a valid URL (of which there may be many) to access > > my > > > > > given > > > > > > web application. This info has to come from the container which > > may > > > > > be > > > > > > the problem. I don't see anything in the container standard > > which > > > > > > provides this info. > > > > > > > > > > > > Any other ideas? > > > > > > > > > > > > --Marty > > > > > > > > > > > > --- Dakota Jack <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > Not sure what you want. Does this help? > > > > > > > > > > > > > > package whatever; > > > > > > > > > > > > > > import java.io.File; > > > > > > > import java.net.URL; > > > > > > > > > > > > > > public final class Classpath { > > > > > > > public static final String SLASH = File.separator; > > > > > > > public static final String HERE = > > > > > > > Classpath.class.getClassLoader().getResource("whatever" + > > SLASH + > > > > > > > > > > > > > > "Classpath.class").getFile(); > > > > > > > } > > > > > > > > > > > > > > > > > > > > > On Tue, 25 Jan 2005 19:25:21 -0800 (PST), Martin Wegner > > > > > > > <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > As far as I can tell the attributes offer no insight. I > > have > > > > yet > > > > > to > > > > > > > find > > > > > > > > a way to get to the container from within a PlugIn. But I > > will > > > > > keep > > > > > > > > looking. Using an initParam is not an option in this > > > > application. > > > > > > > > > > > > > > > > --Marty > > > > > > > > > > > > > > > > --- "Frank W. Zammetti" <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > The OP was looking for a way to construct the entire path. > > I > > > > > too > > > > > > > got as > > > > > > > > > > > > > > > > > > far as ServletContext, but I'm not sure what in it would > > give > > > > > you > > > > > > > that, > > > > > > > > > or even all the pieces to constuct it... Maybe > > getAttribute()? > > > > > > > > > I'm > > > > > > > not > > > > > > > > > sure what it will return, although you can use > > > > > getAttributeNames() > > > > > > > to > > > > > > > > > see. The Javadocs indicates the attributes are > > > > > container-specific > > > > > > > > > though, so I'm not sure he'd want to use that anyway. > > > > > > > > > > > > > > > > > > This is just a matter of curiosity for me at this point, I > > > > long > > > > > ago > > > > > > > > > solved this problem another way. I'd like to know how to > > do > > > > it > > > > > > > though. > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Frank W. Zammetti > > > > > > > > > Founder and Chief Software Architect > > > > > > > > > Omnytex Technologies > > > > > > > > > http://www.omnytex.com > > > > > > > > > > > > > > > > > > > > > > > > > > > Jim Barrows wrote: > > > > > > > > > > On Tue, 25 Jan 2005 18:37:29 -0500, Frank W. Zammetti > > > > > > > > > > <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > >>I seem to remember trying to solve this problem myself > > and > > > > > coming > > > > > > > to > > > > > > > > > the > > > > > > > > > >>conclusion that there was no way to do it independent of > > a > > > > > > > request. I > > > > > > > > > >>wound up just sticking it in my application config file > > that > > > > > gets > > > > > > > read > > > > > > > > > >>in the plugin anyway. Can anyone prove me wrong? :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Your looking for the application context correct? > > > > > > > > > > In the init you are passed the ActionServlet, which > > inherits > > > > > from > > > > > > > > > > HttpServlet, which will give you the ServletContext. > > IIRC > > > > you > > > > > can > > > > > > > get > > > > > > > > > > the context from there. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>-- > > > > > > > > > >>Frank W. Zammetti > > > > > > > > > >>Founder and Chief Software Architect > > > > > > > > > >>Omnytex Technologies > > > > > > > > > >>http://www.omnytex.com > > > > > > > > > >> > > > > > > > > > >>Martin Wegner wrote: > > > > > > > > > >> > > > > > > > > > >>>In have a Struts PlugIn that needs to determine the URL > > for > > > > > the > > > > > > > > > containing > > > > > > > > > >>>web application (http://localhost:8080/BlahBlahBlah/). > > I > > > > am > > > > > > > unable > > > > > > > > > to > > > > > > > > > >>>find a way to determine this information. Any ideas? > > > > > > > > > >>> > > > > > > > > > >>>Thanks. > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>>--Marty > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>>--------------------------------------------------------------------- > > > > > > > > > >>>To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > >>>For additional commands, e-mail: > > > > [EMAIL PROTECTED] > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>>. > > > > > > > > > >>> > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > >>--------------------------------------------------------------------- > > > > > > > > > >>To unsubscribe, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > >>For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Frank W. Zammetti > > > > > > > > > Founder and Chief Software Architect > > > > > > > > > Omnytex Technologies > > > > > > > > > http://www.omnytex.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > > > > For additional commands, e-mail: > > [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > ------------------------------ > > > > > > > > > > > > > > "You can lead a horse to water but you cannot make it float on > > its > > > > > > > back." > > > > > > > > > > > > > > ~Dakota Jack~ > > > > > > > > > > > > > > "You can't wake a person who is pretending to be asleep." > > > > > > > > > > > > > > ~Native Proverb~ > > > > > > > > > > > > > > "Each man is good in His sight. It is not necessary for eagles > > to > > > > be > > > > > > > crows." > > > > > > > > > > > > > > ~Hunkesni (Sitting Bull), Hunkpapa Sioux~ > > > > > > > > > > > > > > ----------------------------------------------- > > > > > > > > > > > > > > "This message may contain confidential and/or privileged > > > > > information. > > > > > > > If you are not the addressee or authorized to receive this for > > the > > > > > > > addressee, you must not use, copy, disclose, or take any > > action > > > > > based > > > > > > > on this message or any information herein. If you have > > received > > > > this > > > > > > > message in error, please advise the sender immediately by > > reply > > > > > e-mail > > > > > > > and delete this message. Thank you for your cooperation." > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > ------------------------------ > > > > > > > > > > "You can lead a horse to water but you cannot make it float on its > > > > > back." > > > > > > > > > > ~Dakota Jack~ > > > > > > > > > > "You can't wake a person who is pretending to be asleep." > > > > > > > > > > ~Native Proverb~ > > > > > > > > > > "Each man is good in His sight. It is not necessary for eagles to > > be > > > > > crows." > > > > > > > > > > ~Hunkesni (Sitting Bull), Hunkpapa Sioux~ > > > > > > > > > > ----------------------------------------------- > > > > > > > > > > "This message may contain confidential and/or privileged > > information. > > > > > If you are not the addressee or authorized to receive this for the > > > > > addressee, you must not use, copy, disclose, or take any action > > based > > > > > on this message or any information herein. If you have received > > this > > > > > message in error, please advise the sender immediately by reply > > e-mail > > > > > and delete this message. Thank you for your cooperation." > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]