axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie O'Neil" <ekon...@gmail.com>
Subject Re: Annotation parsing framework for Axis2 (Re: [wsm] a plan)
Date Wed, 21 Jun 2006 16:17:02 GMT
  Ah -- interesting.  :)  If what I'll try works (using our
Mirror-like APIs), we shouldn't have any dependence on com.sun stuff
-- you'll be able to plug an implementation in that provides the same
information via reflection or whatever.

  It'll be some work to get done, though, and annogen is likely to be
more expedient in the short term.  Let's decide once I know whether
the above works.

  FWIW, in the long run, those com.sun APIs will be available in the
JDK once JSR-269 is finalized.

Eddie


On 6/21/06, Davanum Srinivas <davanum@gmail.com> wrote:
> Whichever you think is right is ok with me. Let me clarify what i as
> thinking...I was trying to make sure that we avoid com.sun stuff (so
> that we can work in FOSS jvm's) and also work with JDK1.4 by using say
> Retrotranslator (http://retrotranslator.sourceforge.net/).
>
> thanks,
> dims
>
> On 6/21/06, Eddie O'Neil <ekoneil@gmail.com> wrote:
> >   That's certainly an option, though it means that we'd need to rework
> > the annotation checker which is what captures the interpretation of
> > the 181 spec to move it away from using Mirror.
> >
> >   The value in Mirror / apt is that it's supported in Eclipse tooling
> > -- you can get syntax and semantic checking on @WebService
> > annotations, for example.  Personally, I think that's valuable.  A
> > purely annogen based approach won't be embeddable inside of Eclipse.
> >
> >   I still think we can use annogen as a way to drive a Mirror-like API
> > that can be used at both runtime / build time.  But, like I said, I'm
> > open.  Do you want to just move to annogen, or can we consider this as
> > an alternative?
> >
> > Eddie
> >
> >
> >
> >
> > On 6/21/06, Davanum Srinivas <davanum@gmail.com> wrote:
> > > Eddie,
> > >
> > > As i was telling Rajith, we'd like to try annogen based runtime
> > > annotation processing to start with.
> > >
> > > -- dims
> > >
> > > On 6/21/06, Eddie O'Neil <ekoneil@gmail.com> wrote:
> > > >
> > > > Nicholas --
> > > >
> > > >   Basically, yes.  :)  WSM will handle the complexity around the specification's
details regarding the @WebService annotation, SEIs, and WSDL binding.  There's code living
here:
> > > >
> > > >      http://svn.apache.org/repos/asf/beehive/wsm/trunk/src/core/org/apache/beehive/wsm/processor/checker/Jsr181AnnotationChecker.java
> > > >
> > > > that implements most of this (there are a few holes...).  The annotation
processor walks an @WebService annotated class / interface and produces a model that describes
the service (WsmService).  This POJO can then be used for code generation, to update deployment
descriptors, or for auto-wiring of a web service in the VM at runtime.  The latter is how
this works for Axis1.
> > > >
> > > >   Currently, WSM is implemented to use Java 5's Mirror infrastructure
in order to execute annotation processing at build time.  We have a layer that basically duplicates
the Mirror APIs and wraps them so that it's possible to support XDoclet / annogen / asm, so
it should be possible to support either  1.5 or 1.4 and annotation processing at buildtime
or at runtime.  Certainly open to other suggestions if you have them -- if we moved away from
Mirror altogether, there would be some work to do to rewrite some things, but it wouldn't
be rocket science.  :)
> > > >
> > > >
> > > > Eddie
> > > >
> > > >
> > > >
> > > >
> > > > On 6/19/06, Nicholas L Gallardo <nlgallar@us.ibm.com> wrote:
> > > > >
> > > > >
> > > > > Rajith,
> > > > >
> > > > > From a JAX-WS perspective, the @WebService annotation does introduce
some challenges when it comes to determining what the interface of a Web service will be.
 From my interpretation, which is just that, it doesn't dictate as much how the annotation
should be handled at runtime as much as it does instruct how the annotation affects the Java
to WSDL mapping.  I think the assumption after that is, the system will then do whatever it
needs to configure itself to fulfill the contract defined by that WSDL.  If I understand correctly
what Dim's has proposed, this is the piece that your WSMToAxisServiceBuilder will fulfill.
 The rest is making sure that the information gets relayed to Axis2 correctly.
> > > > >
> > > > > With respect to just the @WebService annotation, and not the annotations
processing as a whole, it seems like you might encounter a few scenarios that could be tricky.
 I don't know enough about the specifics of WSM though, so it may resolve some of the headaches
for you.
> > > > >
> > > > > - When a class is annotated with @WebService, any of the public methods
available on that class are to be exposed as an operation in a Web service.  If that particular
annotation instance has the WSDL document location specified, then we need to do some bit
of processing/validation to make sure the public methods support what's defined in the WSDL.
 Or.... does WSM just do that for you?
> > > > >
> > > > > - Because of the "serviceEnpdointInterface" property on the @WebService
annotation, the above case becomes a little more complex.  JAX-WS has a notion of squashing
that SEI, along with the public methods on any other interface that the SEI may extend into
one giant interface, which should then be reflected in the WSDL.  Again, I don't know enough
about WSM, but this might be something it handles for you.  If not, it seems like you will
be required to walk the annotations and collect the metadata from every interface that's extended?
> > > > >
> > > > > I'm glad to see you'll be working on this.  As mentioned before,
I think there is some commonality that can be leveraged when it comes to JAX-WS as well. 
A few questions though about the annotations support for Axis2 endpoints (I know you're just
getting started with this so I understand if some of this is longer term) :
> > > > >
> > > > > - When annotations are added to a class, are you still requiring
the presence of a services.xml?  If so, what's the minimum set of information required in
that document?  I.e., could I get away with annotating a class and just specifying that ServiceClass
property in XML file?  I can see still needing the deployment descriptor for specifying module
refs, but would it be able to have just that and not the operation descriptions.  Just a thought.
> > > > >
> > > > > - If annotations are supported for Axis2/ADB endpoints, how would
we distinguish those from JAX-WS endpoints?
> > > > >
> > > > > Hope this helps...
> > > > >
> > > > > Regards,
> > > > >
> > > > > Nicholas Gallardo
> > > > >  WebSphere  -  WebServices Development
> > > > >  nlgallar@us.ibm.com
> > > > >  Phone: 512-838-1182
> > > > >  Building: 901 / 5G-016
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > "Rajith Attapattu" <rajith77@gmail.com>
> > > > >
> > > > >
> > > > > 06/19/2006 09:35 PM
> > > > >
> > > > > Please respond to
> > > > >  axis-dev@ws.apache.org
> > > > >
> > > > >
> > > > > To axis-dev@ws.apache.org,  dims@apache.org
> > > > >
> > > > > cc
> > > > >
> > > > >
> > > > > Subject Re: Annotation parsing framework for Axis2 (Re: [wsm] a plan)
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Dims,
> > > > >
> > > > >  Sounds good.
> > > > >
> > > > >  So it looks like the @WebService tag is not really useful as we
explicitly name the class in the services.xml
> > > > >  So from Axis2 side we are covered
> > > > >
> > > > >  However I am wondering if there is some requirment from the JAX-WS
side as to how we should leverage this @WebService annotation.
> > > > >  wondering if the spec mandates some sort of stratergy for this.
(I read the spec and couldn't find anything)
> > > > >
> > > > >  For now lets go ahead with what we planned (with a message receiver)
and worry about @WebService thing when we figure out the exact requirment.
> > > > >
> > > > >  Regards,
> > > > >
> > > > >  Rajith.
> > > > >
> > > > > On 6/19/06, Davanum Srinivas <davanum@gmail.com > wrote:
> > > > > Rajith,
> > > > >
> > > > >  In the short term, We have RPCMessageReceiver,
> > > > >  SpringRPCMessageReceiver etc. we could throw in a quick
> > > > >  WSMRPCMessageReceiver as well. So we will have to look at the class
> > > > >  name specified in the services.xml just like we do for other
> > > > >  receivers.
> > > > >
> > > > >  -- dims
> > > > >
> > > > >  On 6/19/06, Rajith Attapattu <rajith77@gmail.com > wrote:
> > > > >  > Hi Dims
> > > > >  >
> > > > >  > One more question if you don't mind :-)
> > > > >  >
> > > > >  > What is the plan to figure out a class marked with @WebService?
> > > > >  >
> > > > >  > a) are we going to look through a particular location to introspect
any
> > > > >  > class files droped there ?
> > > > >  > b) is the user responsible for adding the service via some
API method ? for
> > > > >  > ex: AxisService.createService(String className) ?
> > > > >  >
> > > > >  > The rest we can introspect once we get the class identified.
But I am
> > > > >  > wondering how is the initial step of figuring out the marked
(annotated
> > > > >  > class) class with the @WebService tag.
> > > > >  >
> > > > >  > Sorry for the long list of questions.
> > > > >  >
> > > > >  > Regards,
> > > > >  >
> > > > >  > Rajith
> > > > >  >
> > > > >  >
> > > > >  > On 6/16/06, Rajith Attapattu < rajith77@gmail.com > wrote:
> > > > >  > >
> > > > >  > > Hi Dims,
> > > > >  > >
> > > > >  > > Sorry if this question sounds stupid, but there is something
that I don't
> > > > >  > get.
> > > > >  > > Can you explain any gaps that I have? :-)
> > > > >  > >
> > > > >  > > So we use WSM to get the jsr181 support.
> > > > >  > > But, It looks like wsm is not complete in terms of the
POJO aspect as the
> > > > >  > reflection based ReflectionWsmServiceFactory is not done.
> > > > >  > >
> > > > >  > > I guess part of the job is to complete the wsm stuff and
then use it
> > > > >  > inside axis2. Or did I get this wrong?
> > > > >  > >
> > > > >  > >
> > > > >  > > >> Forgot to mention, please use annogen ( http://annogen.codehaus.org/
 )
> > > > >  > to access the annotations which are needed to build the WsmService
> > > > >  > >
> > > > >  > > So are we going to do the implementation of ReflectionWsmServiceFactory
> > > > >  > inside Axis2?
> > > > >  > >
> > > > >  > > I thought we are going to complete that inside wsm and
then implement
> > > > >  > WSMToAxisServiceBuilder in Axis2 to build a Axis2 service out
of a
> > > > >  > WSMService thats produced via the ReflectionWsmServiceFactory.
> > > > >  > >
> > > > >  > > Did I miss something?
> > > > >  > >
> > > > >  > > Thanks,
> > > > >  > >
> > > > >  > >
> > > > >  > > Rajith
> > > > >  > >
> > > > >  > >
> > > > >  > > On 6/13/06, Davanum Srinivas < davanum@gmail.com >
wrote:
> > > > >  > > > Let's keep this to axis-dev@ until we need some questions
answered
> > > > >  > > > from beehive folks. Forgot to mention, please use
annogen
> > > > >  > > > ( http://annogen.codehaus.org/) to access the annotations
which are
> > > > >  > > > needed to build the WsmService. We explicitly took
a dependency on
> > > > >  > > > annogen in Axis2 for this purpose.
> > > > >  > > >
> > > > >  > > > thanks,
> > > > >  > > > -- dims
> > > > >  > > >
> > > > >  > > > On 6/13/06, Rajith Attapattu <rajith77@gmail.com
> wrote:
> > > > >  > > > > Hi Dims,
> > > > >  > > > >
> > > > >  > > > > Thanks for the pointers.
> > > > >  > > > > Let me look at how to get the ReflectionWsmServiceFactory
impl going.
> > > > >  > > > > after that I can start with WSMToAxisServiceBuilder
to build an
> > > > >  > AxisService
> > > > >  > > > > out of an anotated POJO.
> > > > >  > > > > Once I have something I will create a JIRA and
attach a patch. U can
> > > > >  > take a
> > > > >  > > > > look at the code and then we can take it from
there.
> > > > >  > > > > If I have questions I will bug u again :-)
> > > > >  > > > >
> > > > >  > > > > Btw, the Beehive mailing list seems to be a
bit quiet, so I am
> > > > >  > wondering how
> > > > >  > > > > to get WSM specific questions answered :-)
> > > > >  > > > >
> > > > >  > > > > Regards,
> > > > >  > > > >
> > > > >  > > > > Rajith
> > > > >  > > > >
> > > > >  > > > > On 6/13/06, Davanum Srinivas < davanum@gmail.com>
wrote:
> > > > >  > > > > >
> > > > >  > > > > > Rajith,
> > > > >  > > > > >
> > > > >  > > > > > I think you need to implement ReflectionWsmServiceFactory
first. The
> > > > >  > > > > > angle of attack i am looking at is deploying
a POJO with
> > > > >  > annotations.
> > > > >  > > > > > (See AxisService.createService in Axis2
where one can deploy a
> > > > >  > pojo).
> > > > >  > > > > > You will have to write a WSMToAxisServiceBuilder
(see
> > > > >  > > > > > WSDL11ToAxisServiceBuilder) to populate
the AxisService info from
> > > > >  > WSM.
> > > > >  > > > > > WDYT? Once we have this, we can get fancy
with codegen etc.
> > > > >  > > > > >
> > > > >  > > > > > thanks,
> > > > >  > > > > > dims
> > > > >  > > > > >
> > > > >  > > > > > On 6/5/06, Rajith Attapattu <rajith77@gmail.com
> wrote:
> > > > >  > > > > > > Hi Dims & Eddie,
> > > > >  > > > > > >
> > > > >  > > > > > > So code wise I should be looking at
MirrorWsmBuilder and
> > > > >  > WsmService?
> > > > >  > > > > > > Any pointers will be helpful.
> > > > >  > > > > > >
> > > > >  > > > > > > I am going through the wiki and JSR
documentation and will get
> > > > >  > back with
> > > > >  > > > > > > questions.
> > > > >  > > > > > > Meanwhile do we have that seperate
jar that bundles all the
> > > > >  > relevent
> > > > >  > > > > > classes
> > > > >  > > > > > > for the annotations support?
> > > > >  > > > > > >
> > > > >  > > > > > > Regards,
> > > > >  > > > > > >
> > > > >  > > > > > > Rajith
> > > > >  > > > > > >
> > > > >  > > > > > > On 2/5/06, Eddie O'Neil < ekoneil@gmail.com
> wrote:
> > > > >  > > > > > > >
> > > > >  > > > > > > > Dims--
> > > > >  > > > > > > >
> > > > >  > > > > > > >   Hey; apologies for the delay.
 That's basically right -- there
> > > > >  > is
> > > > >  > > > > > > > actually one other step in the
annotation processing pipeline
> > > > >  > which is
> > > > >  > > > > > > > verifying the validity of any
annotations on the class.  So, it
> > > > >  > would
> > > > >  > > > > > > > be:
> > > > >  > > > > > > >
> > > > >  > > > > > > >   annotation checking (Jsr181AnnotationChecker)
--> model
> > > > >  > building
> > > > >  > > > > > > > (MirrorWsmBuilder)
> > > > >  > > > > > > >
> > > > >  > > > > > > > which returns a WsmService object
that can be wired up into
> > > > >  > axis2
> > > > >  > > > > > stuff.
> > > > >  > > > > > > >
> > > > >  > > > > > > >   I can certainly break the Axis
1.x stuff into a separate JAR;
> > > > >  > my
> > > > >  > > > > > > > original plan was to just put
the Axis 1.x and 2 bits in the
> > > > >  > same JAR
> > > > >  > > > > > > > file, but if this is a problem,
let me know and I can make three
> > > > >  > JARs
> > > > >  > > > > > > > -- generic web service processing
code, axis 1, axis 2, etc.
> > > > >  > > > > > > >
> > > > >  > > > > > > >   There is one important part
of this that isn't done yet, and
> > > > >  > that's
> > > > >  > > > > > > > to provide something that can
be used inside of a server runtime
> > > > >  > that
> > > > >  > > > > > > > abstracts from Sun's Mirror types
which are used inside of APT.
> > > > >  > Not
> > > > >  > > > > > > > exactly sure what this looks
like yet -- could be reflection or
> > > > >  > > > > > > > something else that abstracts
from Sun's Mirror APIs (used
> > > > >  > inside of
> > > > >  > > > > > > > APT).
> > > > >  > > > > > > >
> > > > >  > > > > > > >   Do you want to run this from
inside of the Axis2 runtime or at
> > > > >  > > > > > > > build-time on the command line?
 I'm assuming the former.
> > > > >  > > > > > > >
> > > > >  > > > > > > > Eddie
> > > > >  > > > > > > >
> > > > >  > > > > > > >
> > > > >  > > > > > > > On 2/1/06, Davanum Srinivas <
davanum@gmail.com > wrote:
> > > > >  > > > > > > > > Eddie,
> > > > >  > > > > > > > >
> > > > >  > > > > > > > > i was looking at the current
codebase and spotted the
> > > > >  > > > > > > > > MirrorWsmBuilder. Is this
what we can use in Axis2 to inspect
> > > > >  > a
> > > > >  > > > > > given
> > > > >  > > > > > > > > java class? and one the
WsmService object is built, then
> > > > >  > translate
> > > > >  > > > > > > > > that to Axis2 thingies?
Can we split out the processing
> > > > >  > framework
> > > > >  > > > > > into
> > > > >  > > > > > > > > a separate jar (w/o things
like Axis1 stuff)? Am i on the
> > > > >  > right
> > > > >  > > > > > track
> > > > >  > > > > > > > > with this thinking?
> > > > >  > > > > > > > >
> > > > >  > > > > > > > > thanks,
> > > > >  > > > > > > > > dims
> > > > >  > > > > > > > >
> > > > >  > > > > > > > > On 1/3/06, Eddie O'Neil
< ekoneil@gmail.com > wrote:
> > > > >  > > > > > > > > > All--
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Happy New Year! 
And, as a way to start the year off on a
> > > > >  > good
> > > > >  > > > > > foot,
> > > > >  > > > > > > > > > let's get WSM to 1.0.
 Below is a proposal for how we get
> > > > >  > from
> > > > >  > > > > > here to
> > > > >  > > > > > > > > > there with some details
about where we are and what needs to
> > > > >  > > > > > happen.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Today, there are
two core WSM parts, both of which are
> > > > >  > tailored
> > > > >  > > > > > to
> > > > >  > > > > > > > > > the Axis web service
stack:
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   build-time: This
is a generic annotation processing layer
> > > > >  > that
> > > > >  > > > > > has
> > > > >  > > > > > > > > > the ability to work
against Mirror, reflection, and WSDL to
> > > > >  > > > > > produce a
> > > > >  > > > > > > > > > WSM JavaBean model
that represents a web service.  The
> > > > >  > build-time
> > > > >  > > > > > > > > > layer has a plug-point
for generating source artifacts to
> > > > >  > support
> > > > >  > > > > > > > > > various web service
runtimes.  For example, the Axis
> > > > >  > > > > > implementation
> > > > >  > > > > > > > > > produces a serialized
version of the WSM JavaBean model.
> > > > >  > This
> > > > >  > > > > > could
> > > > >  > > > > > > > > > also produce JAX-RPC
source / deployment descriptor
> > > > >  > artifacts,
> > > > >  > > > > > etc.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   runtime: The runtime
side of WSM is specifically built to
> > > > >  > > > > > support
> > > > >  > > > > > > > > > the Axis 1.x runtime.
 It loads the serialized JavaBean
> > > > >  > model
> > > > >  > > > > > > > > > generated at build
time and uses an Axis Handler to
> > > > >  > configure a
> > > > >  > > > > > > > > > SOAPService given this
information.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   There is another
large bunch of code in WSM related to
> > > > >  > tools:
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > > wsdl2ajava -- this
tool supports the top-down web service
> > > > >  > > > > > development
> > > > >  > > > > > > > > > model and starts with
a WSDL to produce an annotated Java
> > > > >  > source
> > > > >  > > > > > file.
> > > > >  > > > > > > > > >  This tool requires
significant knowledge of WSDL and type
> > > > >  > mapping
> > > > >  > > > > > for
> > > > >  > > > > > > > > > a specific web service
stack.  For example, the mapping for
> > > > >  > an XSD
> > > > >  > > > > > > > > > year is mapped to org.apache.axis.types.Year
and something
> > > > >  > > > > > different
> > > > >  > > > > > > > > > on other web service
stacks.  wsdl2java is a non-trivial
> > > > >  > bunch of
> > > > >  > > > > > code
> > > > >  > > > > > > > > > to write, but is also
a very useful tool.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   In order to finish
WSM, one more re-architecting step
> > > > >  > needs to
> > > > >  > > > > > be
> > > > >  > > > > > > > > > completed; I'd like
to remove the use of a serialized Java
> > > > >  > object
> > > > >  > > > > > as
> > > > >  > > > > > > > > > the way to communicate
from the build-time to runtime parts
> > > > >  > of the
> > > > >  > > > > > > > > > implementation.  This
would be replaced with a WSDD like,
> > > > >  > but WSM
> > > > >  > > > > > > > > > specific, XML descriptor
of the service.  AFAICT, WSDD can't
> > > > >  > be
> > > > >  > > > > > used
> > > > >  > > > > > > > > > for this because too
closely matches the shape of a Java
> > > > >  > class
> > > > >  > > > > > (Dims
> > > > >  > > > > > > > > > and others, feel free
to correct me if I'm wrong).  So, we
> > > > >  > need a
> > > > >  > > > > > > > > > simple XML file that
describes the information captured in a
> > > > >  > > > > > > > > > WsmService.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Once this is done,
we can start work on passing the
> > > > >  > JSR-181 TCK.
> > > > >  > > > > > > > > > This will be done atop
Apache Axis 1.x.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   In order to expedite
the process of getting from here to
> > > > >  > TCK
> > > > >  > > > > > > > > > compliance, I'd like
to suggest that we stop stop work on
> > > > >  > the
> > > > >  > > > > > > > > > wsdl2ajava tool in
order to focus on finishing 1.0 and
> > > > >  > restart
> > > > >  > > > > > this
> > > > >  > > > > > > > > > tool immediately post-1.0.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Post 1.0, there are
lots of other things that we could do
> > > > >  > > > > > including:
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > > - JDK 1.4 support
> > > > >  > > > > > > > > > - drop-in support for
WSM in Axis to support iteratively
> > > > >  > > > > > developing an
> > > > >  > > > > > > > > > annotated web service
> > > > >  > > > > > > > > > - JAX-RPC support (Ias,
still have any interest in working
> > > > >  > on
> > > > >  > > > > > this?)
> > > > >  > > > > > > > > > - custom annotations
to support container-specific features
> > > > >  > like
> > > > >  > > > > > type
> > > > >  > > > > > > > mapping
> > > > >  > > > > > > > > > - and so on...
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Personally, I'm chomping
at the bit to get WSM's 1.0 done
> > > > >  > and
> > > > >  > > > > > would
> > > > >  > > > > > > > > > like to narrow scope
in order to do that.  I think we're
> > > > >  > almost
> > > > >  > > > > > ready
> > > > >  > > > > > > > > > for the TCK; I'll start
on the XML file to describe an
> > > > >  > annotated
> > > > >  > > > > > Axis
> > > > >  > > > > > > > > > web service shortly.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > >   Thoughts, comments,
and flames welcome.
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > > > Eddie
> > > > >  > > > > > > > > >
> > > > >  > > > > > > > >
> > > > >  > > > > > > > >
> > > > >  > > > > > > > > --
> > > > >  > > > > > > > > Davanum Srinivas : http://wso2.com/blogs/
> > > > >  > > > > > > > >
> > > > >  > > > > > > >
> > > > >  > > > > > >
> > > > >  > > > > > >
> > > > >  > > > > >
> > > > >  > > > > >
> > > > >  > > > > > --
> > > > >  > > > > > Davanum Srinivas : http://wso2.com/blogs/
> > > > >  > > > > >
> > > > >  > > > >
> > > > >  > > > >
> > > > >  > > >
> > > > >  > > >
> > > > >  > > > --
> > > > >  > > > Davanum Srinivas : http://wso2.com/blogs/
> > > > >  > > >
> > > > >  > > >
> > > > >  > ---------------------------------------------------------------------
> > > > >  > > > To unsubscribe, e-mail:
> > > > >  > axis-dev-unsubscribe@ws.apache.org
> > > > >  > > > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > > > >  > > >
> > > > >  > > >
> > > > >  > >
> > > > >  > >
> > > > >  >
> > > > >  >
> > > > >
> > > > >
> > > > >  --
> > > > >  Davanum Srinivas : http://wso2.com/blogs/
> > > > >
> > > > >  ---------------------------------------------------------------------
> > > > >  To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > > > >  For additional commands, e-mail: axis-dev-help@ws.apache.org
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Davanum Srinivas : http://wso2.com/blogs/
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message