You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Srinath Perera <he...@gmail.com> on 2005/03/16 15:14:47 UTC

Change to AxisWebServiceContainer class in axis module?

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?
Thanks
Srinath

Re: Change to AxisWebServiceContainer class in axis module?

Posted by Srinath Perera <he...@gmail.com>.
> 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.
>
cool  

> 
> > 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.
cool, that mean we are working on the WSDL  and mapping files direct.
understood the problem and why you give that solution :)
Thanks
Srinath

Re: Change to AxisWebServiceContainer class in axis module?

Posted by David Blevins <da...@visi.com>.
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
> <da...@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
> >

Re: Change to AxisWebServiceContainer class in axis module?

Posted by Srinath Perera <he...@gmail.com>.
Yap, Dims and David .. I will move the TestCase to the axis-builder 

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. 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 ?
thanks
Srinath


On Wed, 16 Mar 2005 10:35:49 -0600, David Blevins
<da...@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
>

Re: Change to AxisWebServiceContainer class in axis module?

Posted by David Blevins <da...@visi.com>.
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

Re: Change to AxisWebServiceContainer class in axis module?

Posted by Davanum Srinivas <da...@gmail.com>.
Srinath,

David did not want to use AxisServer...Is there something we can fix in axis?

thanks,
dims


On Wed, 16 Mar 2005 20:14:47 +0600, Srinath Perera <he...@gmail.com> 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?
> Thanks
> Srinath
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/