Hi Deepal,
I figure you are refering to the server side. Given that, the server side
acutally uses the DescriptionBuilderComposite, and not Java reflection to
construct the ServiceDescription hierachy (and the associated Axis
description objects). Construction of the ServiceDescription hierachy is
done through org.apahce.axis2.jaxws.description.DescriptionFactory as you
probably already figured out (BTW - I see the comments in there aren't
really good enough; I'll fix that today).
On the SERVER SIDE, you need to use the factory method that takes a
DescriptionBuilderComposite (DBC), not a class. By building up a DBC,
that allows a server to use byte-scanning to get the annotations rather
than having to load the class. The implementation of byte scanning and
thus the creation of a DBC may be server-specific; however Dustin Amrhein
recently contributed a patch to provide an initial JavaReflection to DBC
converter. So, you could start by using that converter to create
server-side DBCs from your class and then call the approriate factory
method:
This is the CLIENT SIDE factory method
public static ServiceDescription createServiceDescription(URL wsdlURL,
QName serviceQName, Class serviceClass)
This is a TEMPORARY SERVER SIDE factory method; it is currently used to
drive testing but should (eventually) be eliminated and replaced by the
DescriptionBuilderComposite method
It DOES NOT build up the AxisService; it assumes a usable AxisService is
passed in.
public static ServiceDescription
createServiceDescriptionFromServiceImpl(Class serviceImplClass,
AxisService axisService)
This is the SERVER SIDE factory method you should use. It takes a
DescriptionBuilderComposite
public static List<ServiceDescription>
createServiceDescriptionFromDBCMap (
HashMap<String, DescriptionBuilderComposite> dbcMap)
Note that the goal is to put a shim in the factory to use that converter
if the factory methods which take a class are called, and then change the
entire Metadata module to only use DBCs (including on the client side) and
never use Java reflection directly. We haven't had time to make that
change since, particularly for the client side processing, it is a
substantial change.
Thanks,
Jeff
IBM Software Group - WebSphere Web Services Development
Phone: 512-838-4587 or Tie Line 678-4587
Internet e-mail and Sametime ID: [EMAIL PROTECTED]
Deepal Jayasinghe <[EMAIL PROTECTED]>
02/19/2007 01:01 AM
Please respond to
[email protected]
To
"[email protected]" <[email protected]>
cc
Subject
[Axis2] Need help -metadata
Hi Dev;
I stared to implement Annotation support in Axis2 using matadata module
, then I wrote my service [1] and generate AxisService using that. Then
I inspect the generated AxisService and found that it does not have any
operation though it suppose to have two operations.
Have I done any mistake or , is it not completed yet.
Thanks
Deepal
[1]:- http://rafb.net/p/1NzuKa62.html
---------------------------------------------------------------------
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]