axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Sosnoski <...@sosnoski.com>
Subject Re: Annotation parsing framework for Axis2 (Re: [wsm] a plan)
Date Tue, 20 Jun 2006 12:07:38 GMT
Hi Rajith,

I'm not aware of any API call that gives you all the classes that are 
annotated with a particular tag - which one is this? It seems like it 
would only work with classes that have already been loaded into the JVM, 
though, so I'd think it would still be very difficult to use this to 
find the classes.

AFAIK Annogen only supports retrieving information from Java 5 
annotations when you're running on Java 5, and even then only for 
specific classes when they're loaded into the JVM. That's why I thought 
scanning the classes with ASM to check for the annotations would be a 
better approach.

  - Dennis

Rajith Attapattu wrote:
> Nicholas and Dennis,
>
> I got to know that in java 1.5 there is an API call where u can get 
> all the classes that are annotated with a particular tag.
> So in java 1.5 we could request all classes in our path that are 
> annotated with @WebService and then take it from there.
>
> But how about 1.4? does annogen do something simmillar. Not very 
> familliar with annogen.
>
> I agree with Dennis about trying not to use a services.xml if we can 
> for the annotated approach.
> Or else it kind of defeats the whole purpose of using annotations.
>
> The users should be able to drop a jar file in the class path and then 
> Axis2 should be able to build a service completely out of the annotations.
>
> Nicholas, I will answer your other questions after I go to work.
>
> Thanks,
>
> Rajith
>
> On 6/20/06, *Dennis Sosnoski* < dms@sosnoski.com 
> <mailto:dms@sosnoski.com>> wrote:
>
>     Probably the nicest approach from an end user standpoint would be to
>     allow JAX-WS annotations to be used without a services.xml. If Axis2
>     opened an aar and didn't find a services.xml it would then need to
>     search for class files with annotations, which basically means
>     parsing
>     all the class files in the archive (not loading them into memory, but
>     using a class parser such as ASM). Ugly, but it should work.
>
>     The other alternative would be to require a services.xml and list the
>     classes in that. You'd then only need to look at the listed
>     classes, and
>     could probably just load these classes and use the reflection API to
>     access the annotation information. A little more work for the
>     user, but
>     should be okay. If someone wants to they could build a wizard that
>     takes
>     care of the aar generation and automatically includes all the
>     annotated
>     service classes in the services.xml.
>
>       - Dennis
>
>     Nicholas L Gallardo 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 <mailto:nlgallar@us.ibm.com>
>     > Phone: 512-838-1182
>     > Building: 901 / 5G-016
>     >
>     >
>     > *"Rajith Attapattu" < rajith77@gmail.com
>     <mailto:rajith77@gmail.com>>*
>     >
>     > 06/19/2006 09:35 PM
>     > Please respond to
>     > axis-dev@ws.apache.org <mailto:axis-dev@ws.apache.org>
>     >
>     >
>     >
>     > To
>     >       axis-dev@ws.apache.org <mailto:axis-dev@ws.apache.org>,
>     dims@apache.org <mailto: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_
>     > <mailto: davanum@gmail.com <mailto: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_
>     > <mailto: rajith77@gmail.com <mailto: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_
>     > <mailto:rajith77@gmail.com <mailto: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_
>     > <mailto: davanum@gmail.com <mailto: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_
>     > <mailto: rajith77@gmail.com <mailto: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_
>     > <mailto: davanum@gmail.com <mailto: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
>     <http://gmail.com> _
>     > <mailto:rajith77@gmail.com <mailto: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_
>     > <mailto: ekoneil@gmail.com <mailto: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_
>     > <mailto: davanum@gmail.com <mailto: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_
>     > <mailto: ekoneil@gmail.com <mailto: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
>     <mailto:dev-unsubscribe@ws.apache.org> _
>     > <mailto:axis-dev-unsubscribe@ws.apache.org
>     <mailto:axis-dev-unsubscribe@ws.apache.org>>
>     > > > > For additional commands, e-mail: _axis-
>     dev-help@ws.apache.org_
>     > <mailto: axis-dev-help@ws.apache.org
>     <mailto:axis-dev-help@ws.apache.org>>
>     > > > >
>     > > > >
>     > > >
>     > > >
>     > >
>     > >
>     >
>     >
>     > --
>     > Davanum Srinivas : _http://wso2.com/blogs/_
>     >
>     >
>     ---------------------------------------------------------------------
>     > To unsubscribe, e-mail: _axis-dev-unsubscribe@ws.apache.org_
>     > <mailto: axis-dev-unsubscribe@ws.apache.org
>     <mailto:axis-dev-unsubscribe@ws.apache.org>>
>     > For additional commands, e-mail: _axis-dev-help@ws.apache.org_
>     > <mailto: axis-dev-help@ws.apache.org
>     <mailto:axis-dev-help@ws.apache.org>>
>     >
>     >
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
>     <mailto:axis-dev-unsubscribe@ws.apache.org>
>     For additional commands, e-mail: axis-dev-help@ws.apache.org
>     <mailto: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