Title: RE: deploying services
That should have been "spec" not "space" in my previous posting :-)
 
-b
-----Original Message-----
From: Brian Levine [mailto:[EMAIL PROTECTED]]
Sent: Sunday, July 29, 2001 9:47 PM
To: '[EMAIL PROTECTED]'
Subject: RE: deploying services

It appears that the implementation of ServletContext.getRealPath() in WebLogic 5.1 always returns null when running out of a WAR (as is allowed by the space).  So the Apache SOAP code (in ServerHTTPUtils.getFileFromNameAndContext()) will then look for the file relative the current working directory of the server.
 
-brian
-----Original Message-----
From: Brian Levine [mailto:[EMAIL PROTECTED]]
Sent: Sunday, July 29, 2001 9:09 PM
To: '[EMAIL PROTECTED]'
Subject: RE: deploying services

Thanks for the correction.  I did try putting soap.xml in my WAR and it didn't seem to find it.  It's entirely possible that I specified the path incorrectly.  I'll try a few more experiments and let you know.
 
-brian
 
 
-----Original Message-----
From: Matthew J. Duftler [mailto:[EMAIL PROTECTED]]
Sent: Sunday, July 29, 2001 9:28 AM
To: [EMAIL PROTECTED]
Subject: RE: deploying services

Hi Brian and Rich,
 
A WebApp can read files from its own WAR. ServletContext has a getRealPath(String) method which can be used to resolve files relative to the servlet's docBase. We use this method to retrieve the configuration file, soap.xml. Since servers are not obligated to implement the getRealPath() method (they can return null if there is no absolute path to the resource) this only works if the server's impl of this method returns a non-null value. In that case, you need to specify an absolute path using the servlet init parameter.
 
Have you tried putting the soap.xml file in your war file? It should work fine.
 
Thanks,
-Matt
 
-----Original Message-----
From: Brian Levine [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 25, 2001 6:28 PM
To: '[EMAIL PROTECTED]'
Subject: RE: deploying services

Isn't this it?

     <init-param>
         <param-name>ConfigFile</param-name>
         <param-value>soap.xml</param-value>
    </init-param>

which is set in your web.xml file for the RPCRouterServlet.

The entire entry I use is:

  <servlet>
    <servlet-name>soap</servlet-name>
    <display-name>Apache-SOAP RPC Router</display-name>
    <servlet-class>org.apache.soap.server.http.RPCRouterServlet</servlet-class>
    <init-param>
      <param-name>faultListener</param-name>
      <param-value>org.apache.soap.server.DOMFaultListener</param-value>
    </init-param>
    <init-param>
        <param-name>ConfigFile</param-name>
        <param-value>soap.xml</param-value>
   </init-param>
  </servlet>

-brian


-----Original Message-----
From: Rich Catlett [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 25, 2001 5:29 PM
To: [EMAIL PROTECTED]
Subject: Re: deploying services


To set soap server config file, it says you can specify a parameter that
the transport listener (i.e. RPCRouterServlet) passes along to the SOAP
server during startup.  Where do I set this parameter.  Anybody!  Thanks.

> Yes, the server I'm using (WebLogic) unjars the WAR files into a temp
> directory.  But to access that directory would rely on a
> server-specific mechanism which defeats the whole purpose of the WAR
> file.  You're supposed to be able to deploy a WAR file into any app
> server.  Of course, this often doesn't work in practice but you get my
> drift.  So, I suppose I could read from the temp directory for now
> (since I don't anticipate running on multiple app servers any time
> soon) but it's quite a hack. Nevertheless, thanks for the idea! :-)
>
> -b
>
>
> -----Original Message-----
> From: Rich Catlett [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, July 25, 2001 4:25 PM
> To: [EMAIL PROTECTED]
> Subject: Re: deploying services
>
>
> I'm not sure what server you are using, but it sounds like the server
> does not unjar the war files, but instead introspects the war file and
> pulls what it needs directly from the war file.  I'm using tomcat and
> when you start tomcat all webapps in the webapps directory that are in a
> war file are unpacked into a directory of the same name under the war
> file, thus placing the file into the file system.  Currently you can set
> tomcat so that it will not unwar the war files, but will read them from
> the .war file itself.  So maybe in your server you can set the default
> behavior to be that .war files are unpacked.
>
> Brian Levine wrote:
>
>  > Hi,
>  >
>  > A webapp can't read a file in it's own WAR file as a file.  The webapp
>  > *can* read a file in it's WAR file as a resource using the class
>  > loader.  But (currently at least), there's no way to specify this to
>  > Apache SOAP.
>  >
>  >  From my original posting on this subject:
>  >
>  > ----
>  > I suppose this falls into the enhancement request category.  Right
>  > now, the config manager class can be specified in a configuration file
>  > (default = soap.xml).  In my case, I'm using soap.xml so that I can
>  > use the XMLConfigManager to read a DeployedServices.xml deployment
>  > descriptor.  Since both the soap.xml and DeployedServices.xml files
>  > need to be actual files in the filesystem, I can't incorporate them
>  > into a WAR file.  This is inconvenient since I'd really like to deploy
>  > this information with my webapp.
>  >
>  > One way to address this would be to write a ConfigManager
>  > implementation that reads the deployment information out of a resource
>  > in the WAR file.  In order to obviate the need for the soap.xml file,
>  > the custom ConfigManager class would need to be specified as a servlet
>  > init parameter rather than in the soap.xml file.
>  >
>  > -----
>  >
>  > Of course, I may be missing something too...
>  >
>  >
>  > -----Original Message-----
>  > From: Rich Catlett [mailto:[EMAIL PROTECTED]]
>  > Sent: Wednesday, July 25, 2001 1:52 PM
>  > To: [EMAIL PROTECTED]
>  > Subject: Re: deploying services
>  >
>  >
>  > You say that the you can't put the soap.xml into the war file.  What
>  > aoubt this from the server configuration page in the docs
>  >
>  > If a different file is to be used, the default pConfiguration
>  > information may be passed to the Apache SOAP server via an XML-based
>  > configuration file. By default, the server will look in the current
>  > working directory for a file called "soap.xml."  If a different file is
>  > to be used, the default path and name can be overridden by specifying a
>  > parameter that the transport listener (i.e. RPCRouterServlet) passes
>  > along to the SOAP server during startup. (All transport listeners
> should
>  > call the org.apache.soap.server.ServiceManager's static method
>  > setConfigFileName(...) before invoking the SOAP server.)
>  >
>  > Tell me if I'm reading this wrong but couldn't you pass a parameter
> that
>  > names the soap.xml file in the war file.  If this is the case where
> do I
>  > set this parameter to be passed along.
>  >
>  > Brian Levine wrote:
>  >
>  >  > I do this now.  I have a DeployedServices.xml file that I edit by
>  >  > hand.  To use DeployedServices.xml as opposed to DeployedServices.ds
>  >  > (which is created using Java serialization and is difficult to
> edit),
>  >  > you'll need to use the XMLConfigManager class included with Apache
>  >  > SOAP.  To do this, you need a soap.xml file like so:
>  >  >
>  >  >
>  >  >     <soapServer>
>  >  >         <configManager
>  > value="org.apache.soap.server.XMLConfigManager" >
>  >  >             <option name="filename" value="DeployedServices.xml" />
>  >  >         </configManager>
>  >  >     </soapServer>
>  >  >
>  >  > and an init param for the SOAP servlet like so:
>  >  >
>  >  >     <init-param>
>  >  >         <param-name>ConfigFile</param-name>
>  >  >         <param-value>soap.xml</param-value>
>  >  >    </init-param>
>  >  >
>  >  > You can also write your own ConfigManager class that manages
>  >  > deployment information in some other way. Unfortunately, the
> soap.xml
>  >  > file has to be in the filesystem. So you can't put it in a WAR file
>  >  > and hard-code the deployment information as part of the webapp. 
> This
>  >  > may not be important to you though...
>  >  >
>  >  > -brian
>  >  >
>  >  > -----Original Message-----
>  >  > From: Rich Catlett [mailto:[EMAIL PROTECTED]]
>  >  > Sent: Tuesday, July 24, 2001 6:05 PM
>  >  > To: [EMAIL PROTECTED]
>  >  > Subject: Re: deploying services
>  >  >
>  >  >
>  >  > Rather than having to deploy services, I want to start up the soap
>  >  > server with all of the services already deployed.
>  >  >
>  >  > Krishna Vemuri wrote:
>  >  >
>  >  >  > Can you please explain what do you mean by hard code deployed
>  >  > services??
>  >  >  >
>  >  >  > -----Original Message-----
>  >  >  > From: Rich Catlett [mailto:[EMAIL PROTECTED]]
>  >  >  > Sent: Tuesday, July 24, 2001 1:01 PM
>  >  >  > To: [EMAIL PROTECTED]
>  >  >  > Subject: deploying services
>  >  >  >
>  >  >  >
>  >  >  > I want to hard code the deployed services.  I am not sure how
> to go
>  >  >  > about
>  >  >  > this.  Can someone point me in the right direction to get
> started.
>  >  >  > Thanks!
>  >  >  >
>  >  >  >
>  > ---------------------------------------------------------------------
>  >  >  > Rich Catlett        [EMAIL PROTECTED] |  Confuscious say "Man who
>  > stand |
>  >  >  > Programmer                        |   on toilet, high on
>  > pot!"      |
>  >  >  >                                 
>  > |                                 |
>  >  >  >
>  > ---------------------------------------------------------------------
>  >  >  >
>  >  >
>  >
>

Reply via email to