Hi 
 I am using Axis 1.1. I think I confused you by talking about the "implementation 
class". This is how I have my web service setup -
--------------
 <service name="FOPWSImpl" provider="java:RPC">
  <requestFlow>
   <handler type="AttachmentHandler"/>
   <parameter name="scope" value="application"/>
  </requestFlow>

  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.boeing.ebtc.webservices.impl.FOPWSImpl"/>
  <parameter name="scope" value="application"/>

  <fault name="FOPWSException"
        ......
-------------

And the init method that I was talking about is in the FOPWSImpl class. Does that 
answer your question?
-Srinivas



-----Original Message-----
From: Aaron Hamid [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 12, 2003 12:46 PM
To: [EMAIL PROTECTED]
Subject: Re: <init-param> ...getting null values


That's strange, only the Skeleton class was inspected for 
ServiceLifecycle last time I checked, and my impl was not itself 
inspected/called.  What Axis version are you using, 1.1?

Are you using RPC style with stubs?

Aaron

I-Sampige, Srinivas wrote:

> Aaron,
> I got it working after some close analysis and trial and error. I had 
> place the parameters in the wrong section using the wrong tags. This is what I had 
> to do -
> ----------------------------------------
> <web-app>
>   <display-name>Apache-Axis</display-name>
> 
>   <!-- initialization parameters for all web services/web apps 
> deployed in this context. -->
> 
>   <!-- the demo .fo file for the FOP Web Service-->
>   <context-param>
>     <param-name>demoFoFileName</param-name>
>     <param-value>demoFoFile.fo</param-value>
>     <description>foo desc</description>
>   </context-param>
> -------------------------------------
> 
> 
>>ServiceLifecycle params and web.xml init params have nothing to do 
>>with
>>each other.
> 
> 
>>Service params are configured in your WSDD.  Furthermore,
>>ServiceLifecycle init method will NOT be called if implement it in your 
>>*Impl class.  You must implement it in your *Skeleton class (modify the 
>>generated source).  If you want your *Impl class to implement it, you 
>>must implement it in your Skeleton then manually call down to the 
>>implementation.
> 
> 
>  It appears this is not the case. My init method gets called and I 
> have access to the params from web.xml(after making the change above). 
> Please see 
> http://ws.apache.org/axis/java/apiDocs/javax/xml/rpc/server/ServiceLif
> ecycle.html#init(java.lang.Object) & 
> http://ws.apache.org/axis/java/apiDocs/javax/xml/rpc/server/ServletEnd
> pointContext.html
> 
> Thanks
> Srinivas
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: Aaron Hamid [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 11, 2003 7:53 PM
> To: [EMAIL PROTECTED]
> Subject: Re: <init-param> ...getting null values
> 
> 
> ServiceLifecycle params and web.xml init params have nothing to do 
> with
> each other.
> 
> Service params are configured in your WSDD.  Furthermore,
> ServiceLifecycle init method will NOT be called if implement it in your 
> *Impl class.  You must implement it in your *Skeleton class (modify the 
> generated source).  If you want your *Impl class to implement it, you 
> must implement it in your Skeleton then manually call down to the 
> implementation.
> 
> My expectation was that ServiceLifecycle would apply to the *Impl 
> class,
> and I would would vote to change this behavior so that is the case.
> 
> Aaron Hamid
> 
> I-Sampige, Srinivas wrote:
> 
> 
>>Hi
>>I have implemented the ServiceLifecycle interface method in my web service 
>>implementation class and trying to read some input parameters from my web.xml. But, 
>>I don't see the input parameters at all in my "init" method even though I am able to 
>>print out other details like the real path to a couple of folders. Any ideas? Would 
>>be extremely grateful if somebody can take a quick look at this and help. I looked 
>>for typos in the web.xml but couldn't find any. Went to the extent of copying the 
>>init parameter section from the "SOAPMonitorService" of the web.xml.   Please see 
>>below for complete details -
>>
>>Configuration - Axis 1.1; Tomcat 4.1.27; Java version is 1.4.2.
>>
>>Output that comes on the console ( web.xml and code snippets are 
>>pasted
>>after the output)-
>>--------------------------------------------------------------------------------------------------------------------
>>This is the init method of the service implementation-----
>>parameter names ----
>>
>>
>>attribute names ---
>>org.apache.catalina.jsp_classpath
>>javax.servlet.context.tempdir
>>org.apache.catalina.resources
>>AxisEngine
>>org.apache.catalina.WELCOME_FILES
>>
>>
>>Getting parameter values......
>>firstParam null
>>secondParam null
>>
>>
>>Misc values extracted from context......
>>server into Apache Tomcat/4.1.27
>>real path of / C:\workarea\ebtcWebServices\
>>real path of /docs C:\workarea\ebtcWebServices\docs
>>ctx.getMajorVersion() 2
>>ctx.getMinorVersion() 3
>>----------------------------------------------------------------------
>>-
>>---------------------------------------------
>>
>>The relevant snippet from my web.xml -
>>----------------------------------------------------------------------
>>------------------
>><web-app>
>> <display-name>Apache-Axis</display-name>
>> <servlet>
>>   <servlet-name>AxisServlet</servlet-name>
>>   <display-name>Apache-Axis Servlet</display-name>
>>   <servlet-class>
>>       org.apache.axis.transport.http.AxisServlet
>>   </servlet-class>
>>
>>   <init-param>
>>     <param-name>firstParam</param-name>
>>     <param-value>firstValue</param-value>
>>   </init-param>
>>
>>   <init-param>
>>     <param-name>secondParam</param-name>
>>     <param-value>secondValue</param-value>
>>   </init-param>
>> </servlet>
>>----------------------------------------------------------------------
>>-
>>-----------------
>>
>>My init method looks like this-
>>----------------------------------------------------------------------
>>-
>>------------------
>> public void init(Object context)
>> {
>>   System.out.println("This is the init method of the service implementation-----");
>>
>>   ServletEndpointContext servletEndPointCtx = (ServletEndpointContext) context;
>>   ServletContext ctx = servletEndPointCtx.getServletContext();
>>
>>   System.out.println("parameter names ----");
>>   Enumeration paramNames = ctx.getInitParameterNames();
>>   while (paramNames.hasMoreElements())
>>   {
>>     System.out.println(paramNames.nextElement());
>>   }
>>   System.out.println("");
>>   System.out.println("");
>>
>>   System.out.println("attribute names ---");
>>   Enumeration attributes = ctx.getAttributeNames();
>>   while (attributes.hasMoreElements())
>>   {
>>     System.out.println(attributes.nextElement());
>>   }
>>   System.out.println("");
>>   System.out.println("");
>>
>>   System.out.println("Getting parameter values......");
>>   System.out.println("firstParam "+ctx.getInitParameter("firstParam"));
>>   System.out.println("secondParam "+ctx.getInitParameter("secondParam"));
>>   System.out.println("");
>>   System.out.println("");
>>
>>   System.out.println("Misc values extracted from context......");
>>   System.out.println("server into "+ctx.getServerInfo() );
>>   System.out.println("real path of / "+ ctx.getRealPath("/"));
>>   System.out.println("real path of /docs "+ ctx.getRealPath("/docs"));
>>   System.out.println("ctx.getMajorVersion() "+ctx.getMajorVersion());
>>   System.out.println("ctx.getMinorVersion() "+ctx.getMinorVersion());  
>>}
>>----------------------------------
>>
>>Thanks
>>Srinivas


Reply via email to