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]