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]

Reply via email to