geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <david.blev...@visi.com>
Subject Re: Change to AxisWebServiceContainer class in axis module?
Date Thu, 17 Mar 2005 03:29:27 GMT
On Thu, Mar 17, 2005 at 07:45:54AM +0600, Srinath Perera wrote:
> Yap, Dims and David .. I will move the TestCase to the axis-builder 

Cool.

I have some pending changes, so it may fail in the meantime.  If it does, just hang tight
till I can get things checked in.

> Just a random thought .. 
> 
> the AxisWebServiceContainer not work with just any SOAPService and
> expect certain value to be set. Since the normal user do not see this
> details it is not critical.
> 
> but it does not live up to the expecations one get whn he look at the
> method signatures. 

Not sure what you mean exactly.

> And when I tried with the most natural way to get a
> SOAPService (by parsing axis DD, deploy.wsdd) and run the
> AxisWebServiceContainer with that SOAP service it failed with
> NullPointers
> 
> Any chance to fix it ?

Well, we are purposely not letting Axis do some of the things it likes
to do at runtime, like fill in extra data into your FooDesc objects.

The WSDD file isn't as detailed as a jaxrpc mapping file and Axis will
typically fill in the required detail at runtime using fairly
intuitive algorithms.  One example is that the WSDD file isn't able to
say what method goes with an operation, so Axis will fill that in at
runtime in a synchronized block the first time the service is invoked.
After that, you still hit the synchronized block on every call, albeit
just long enough to see that the "initialized" flag is true and
return.

We have all this detail up front and configure our JavaServiceDesc
objects with more information than the WSDD stuff does and we very
intentionally do not want Axis changing anything at runtime.  We
actually have code to stop Axis from doing some of it's usual guess
work.

-David

> thanks
> Srinath
> 
> 
> On Wed, 16 Mar 2005 10:35:49 -0600, David Blevins
> <david.blevins@visi.com> wrote:
> > On Wed, Mar 16, 2005 at 08:14:47PM +0600, Srinath Perera wrote:
> > > Hi All;
> > >
> > > I wrote a TestCase for axis module and checked it in. But the soap
> > > invocation fails and send back a SOAPFault. This can be fixed by
> > > changing the line 63 of AxisWebServiceContainer
> > >
> > > org.apache.axis.MessageContext context = new
> > > org.apache.axis.MessageContext(null); to
> > > org.apache.axis.MessageContext context = new
> > > org.apache.axis.MessageContext(new AxisServer());
> > >
> > > I do not do the change yet .. I remeber David Blevins mentioned he do
> > > the code without AxisEngine, not sure will it couse trouble
> > >  thoughts?
> > 
> > Hi Srinath,
> > 
> > Thanks for the test case, looks like a great start.  Your problem with the axis
engine will go away if you use the AxisServiceBuilder to build the JavaServiceDesc instead
of building it by hand in the test case.  Since maven doesn't like circular dependencies,
you'll probably have to move the test case to the axis-builder module to get that to compile.
> > 
> > -David
> >

Mime
View raw message