David,

Right.  I cannot guarantee that any human will hit the web server before
an SOAP based application contacts the WS.  So I am still stuck with the
same problem: no access to a Request object until a human points their
browser at the container.


--Marty

--- "David G. Friedman" <[EMAIL PROTECTED]> wrote:

> Martin,
> 
> Are you saying you can't even do my suggestion, which would only be
> required
> the very FIRST time the app is deployed?  Further restarts or reboots,
> etc.,
> wouldn't need that initial url with what I suggested.  Not as long as
> you
> hooked the special first-time(only) url to hit the plugins' init methods
> once the first initialization occurred over the web.  Reinvoking the
> plugIn
> inits from that primary deployment URL shouldn't be that hard in that
> case.
> Again, not as long as you saved the URL in a file so future
> restarts/reboots
> would not need that manual (first-time) URL ever again.
> 
> Regards,
> David
> 
> -----Original Message-----
> From: Martin Wegner [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, January 26, 2005 3:39 PM
> To: Struts Users Mailing List
> Subject: RE: PlugIn and the base URL
> 
> 
> 
> Yes, this is the scenario.  The web container could change, the port
> number could change and the WAR filename could change.  So the PlugIn
> needs to divine the URL completely at run time.  Which is why it has
> stumped me to date.
> 
> 
> --Marty
> 
> --- [EMAIL PROTECTED] wrote:
> 
> > Well, I guess I made an assumption here... I assumed you would have
> > enough information to construct a URL using localhost as the server
> > name.  I guess that's not a safe assumption in this case.
> >
> > So let me understand this scenario further... you are sending a WAR
> out
> > to a client, right?  When the WAR runs, doesn't it always expand to
> the
> > same path?  Echoing the name of the WAR, right?  Are you saying the
> > client can change the name of the WAR at will, or that it's by design
> > different for each client?
> >
> > (Yes, the snow is getting VERY old already here in PA too... I don't
> > know how people who live in Minnesota and Chicago and the other
> normally
> > cold weather states bear it!)
> >
> > --
> > Frank W. Zammetti
> > Founder and Chief Software Architect
> > Omnytex Technologies
> > http://www.omnytex.com
> >
> > On Wed, January 26, 2005 2:20 pm, David G. Friedman said:
> > > Frank,
> > >
> > > How would you know a URL to check inside the plugIn without editing
> > any
> > > files?  If you could get that from within the plugIn, you wouldn't
> > need to
> > > send a request.  Where would you send it?  To localhost but with
> what
> > > context?  See where my snow-covered (yep, another Boston,MA,USA
> storm)
> > > thinking is going with this?
> > >
> > > -David, having a 'bald' moment
> > >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, January 26, 2005 2:13 PM
> > > To: user@struts.apache.org
> > > Subject: RE: PlugIn and the base URL
> > >
> > >
> > > I would personally couple this with the thread idea I mentioned
> > earlier...
> > > Spawn a thread to send through a request after a few seconds to
> check
> > > baseURL or set it as appropriate.  That would remove the user
> > interaction
> > > aspect, and probably would get everything set up quicker, at least
> in
> > a
> > > known amount of time.
> > >
> > > --
> > > Frank W. Zammetti
> > > Founder and Chief Software Architect
> > > Omnytex Technologies
> > > http://www.omnytex.com
> > >
> > > On Wed, January 26, 2005 1:52 pm, Wiebe de Jong said:
> > >> Hey David, that is a great idea.
> > >>
> > >> Let me build on it a bit...
> > >>
> > >> When the .war file is deployed, the baseURL property will be blank.
> > >>
> > >> When the application starts up, it will check this property. If the
> > >> property
> > >> is blank, the app will be in 'inactive' state and the only menu
> item
> > >> presented to the user is 'Activate'. The action for 'Activate' will
> > read
> > >> the
> > >> URL from the response and set the property. The application is now
> in
> > >> the
> > >> 'active' state and operating normally.
> > >>
> > >> The next time the application starts up and checks the property, it
> > is
> > >> not
> > >> blank so the app is 'active'.
> > >>
> > >> The activate action could do a couple of other things as well, such
> > as
> > >> record the activation time (if you need it for billing) or fire off
> a
> > >> message to a licensing or billing server (for hosted apps, etc).
> > >>
> > >> Wiebe de Jong
> > >>
> > >>
> > >> -----Original Message-----
> > >> From: David G. Friedman [mailto:[EMAIL PROTECTED]
> > >> Sent: Wednesday, January 26, 2005 10:33 AM
> > >> To: Struts Users Mailing List
> > >> Subject: RE: PlugIn and the base URL
> > >>
> > >> A Devil's Advocate says:
> > >>
> > >> I agree with the theory that the webapp Context name within the
> > >> application
> > >> server "/myapp" should be available to the servlet but not the
> > >> host/port/etc.  Why?  Imagine you work on a project like mine where
> > you
> > >> are
> > >> using virtual host capability to map various paths on various
> virtual
> > >> hosts
> > >> to your one Java webapp (one instance for all clients).  The
> startup
> > >> information you would obtain, in that situation, on the host and
> > server
> > >> port
> > >> would be wrong.  Only the request object would have the correct
> data.
> > >>
> > >> With that in mind, the Devil's Advocate suggests:
> > >>
> > >> Can you provide a plug-in to check a file for the information you
> > >> require?
> > >> On first run, there would be no data so let them, upon first
> > >> installation,
> > >> run an action.  That action could see if said file exists and, if
> > not,
> > >> put
> > >> it's url information (from the request) into that file (and this
> one
> > >> time
> > >> into that class's class instance data).  If the file exists, the
> > action
> > >> could politely return a page explaining the requested function is
> not
> > >> available (to prevent someone from potentially screwing things up
> by
> > >> running
> > >> that action again).
> > >>
> > >> Regards,
> > >> David, the devil's advocate today.
> > >>
> > >> -----Original Message-----
> > >> From: Martin Wegner [mailto:[EMAIL PROTECTED]
> > >> Sent: Wednesday, January 26, 2005 12:53 PM
> > >> To: Struts Users Mailing List
> > >> Subject: RE: PlugIn and the base URL
> > >>
> > >> Agreed.  That approach works more often than not.  Except in this
> > case.
> > >> The client of the WS does indeed use the URL that is sent back. 
> That
> > is
> > >> part of the overal protocol.  So it has to be a valid URL that
> > reaches
> > >> the
> > >> WS inside of my Struts app.
> > >>
> > >> One could argue that the real problem is within Axis, which does
> not
> > >> provide any HTTP details to the WS call dispatcher.  If I had
> access
> > to
> > >> that info I could stuff it into the WS DOM response and not bother
> > with
> > >> the Struts PlugIn.  Sigh.
> > >>
> > >> --Marty
> > >>
> > >> --- "Varley, Roger" <[EMAIL PROTECTED]> wrote:
> > >>
> > >>> >
> > >>> > The WS response has to contain the URL that was used to
> > >>> > access the WS.
> > >>> > This is a requirement of the XML Schema that defines the WS
> > response
> > >>> > payload.  I have no control over this.
> > >>> >
> > >>>
> > >>> I know this might be stupid, but whenever I see an odd requirement
> > like
> > >>> this my first experiment is to see what happens if I pass
> something
> > >>> that
> > >>> is a valid URL but doesn't actually point anywhere. In this way
> you
> > >>> could simply "hard-code" a string value into your plugin. It
> > wouldn't
> > >>> be
> > >>> the first time I've come across a "mandatory" requirement that
> > doesn't
> > >>> actually do anything :)
> > >>>
> > >>> Regards
> > >>> Roger
> > >>
> > >>
> > >>
> ---------------------------------------------------------------------
> > >> 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]
> 
> 
> ---------------------------------------------------------------------
> 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