Dims & Eddie,
> 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.
So the plan is to wait till till Eddie figures out whether his proposed
approach is going to work?
Regards,
Rajith
On 6/21/06, Eddie O'Neil <[EMAIL PROTECTED]> wrote:
> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 < [EMAIL PROTECTED]> 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
> > > > > > [EMAIL PROTECTED]
> > > > > > Phone: 512-838-1182
> > > > > > Building: 901 / 5G-016
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Rajith Attapattu" <[EMAIL PROTECTED]>
> > > > > >
> > > > > >
> > > > > > 06/19/2006 09:35 PM
> > > > > >
> > > > > > Please respond to
> > > > > > [email protected]
> > > > > >
> > > > > >
> > > > > > To [email protected], [EMAIL PROTECTED]
> > > > > >
> > > > > > 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 < [EMAIL PROTECTED] > 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 <[EMAIL PROTECTED] > 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 < [EMAIL PROTECTED] > 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 < [EMAIL PROTECTED] > 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 < [EMAIL PROTECTED] >
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 < [EMAIL PROTECTED]>
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 <[EMAIL PROTECTED] >
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 < [EMAIL PROTECTED] >
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 < [EMAIL PROTECTED] >
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 < [EMAIL PROTECTED] >
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:
> > > > > > > [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail:
[EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Davanum Srinivas : http://wso2.com/blogs/
> > > > > >
> > > > > >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Davanum Srinivas : http://wso2.com/blogs/
> > > >
> > > >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > --
> > Davanum Srinivas : http://wso2.com/blogs/
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>