Eric,

Please enter this as a bug report at http://nagoya.apache.org/bugzilla.

Thanks,
dims

--- "Norman, Eric" <[EMAIL PROTECTED]> wrote:
> I'm working on an project where we want to expose our generic business logic
> classes as webservices.  However, each of the methods in these classes
> expect the first parameter to be a server side (application context) object
> that should not be supplied by the client.  A servlet filter creates the
> appContext object and makes it available for the server side classes to use
> (including our custom Axis Provider).  In our custom Axis provider, we are
> overriding the invokeMethod(..) method to inject the appContext object into
> the argument array before invoking the method.  That seems to work ok.
> However, the generated WSDL still has the offending (supplied on the server
> side) parameter in it which we don't want the client applications to have to
> worry about.
> 
> Our initial thoughts on how to get rid of the parameter from the WSDL is to
> override the initServiceDesc(..) method in our custom Provider and remove
> the offending ParameterDesc from the OperationDesc object.  Unfortunately,
> there doesn't seem to be any method available to remove a parameter from an
> OperationDesc.  What we really want to do is to supply our own list of
> ParameterDesc objects (with the offending one removed).  
> 
> There was a partially implemented setParameters(..) call already in the
> OperationDesc class.  To make our solution work, we fixed/completed the
> implementation of the setParameters(..) method and made it public.  We are
> now able to remove the parameter from the WSDL (by overriding
> initServiceDesc(..) in our provider) and it seems to work.
> 
> If there are no objections, I'd like to have someone add this patch to the
> main source tree.    Below is the source for the method we had to modify.
> 
> -----------------------
> In OperationDesc.java:
> -----------------------
> 
>     /**
>      * Set the parameters wholesale.
>      *
>      * @param newParameters an ArrayList of ParameterDescs
>      */
>     public void setParameters(ArrayList newParameters) {
>        parameters = new ArrayList(); //Keep numInParams correct.
>        numInParams = 0;
> 
>        for( java.util.ListIterator li= newParameters.listIterator();
>          li.hasNext(); ){
>            addParameter((ParameterDesc) li.next());
>        }
>     }
> 
> . . . . . . . . . . . . . . . . . . . . . . . . 
> 
> Eric Norman | Software Engineer
> 
> 600 108th Avenue NE | Suite 900 | Bellevue WA  98004
>       T 425.462.1999 x4165 |  F 425.637.1192 | [EMAIL PROTECTED]
> w w w . n e t e g r i t y . c o m
> 


=====
Davanum Srinivas - http://xml.apache.org/~dims/

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Reply via email to