I started to work on ${Subject} following are the sub tasks involve with
this.

1.) Write a new Carbon based JAXWSDeployer to deploy a bundles as a Axis2
JAX-WS  service.

Current Carbon Axis2ServiceRegistry look for service.xml file in a bundle
and deploy bundle as a native Axis2 service.  Since Axis2 JAX-WS deployment
does not use any meta data file it is required to set new entry on MANIFEST
file to identify JAX-WS services.  At the moment I have completed most part
of this JAXWSDeployer, it is possible to deploy and invoke JAX-WS service
but still have to solve few classloading issues.

There are few ClassNotFoundExceptions occurred for non-existing classes
when I use BundleClassLoader to deploy services. But still WSDL generated
and possible to invoke service successfully too . This is not the case if I
use SystemClassLoader through  axisConfig.getSystemClassLoader() instead
of  BundleClassLoader. I will debug Axis2 JAX-WS deployment within Carbon
further and see what cause this issue.


2.) Port existing Axis2 native Admin services to  to use JAX-WS/ JAXB.

I went through services.xml files of all the Admin services and it's looks
like most of them can be port into JAX-WS programing model. Since Axis2
JAX-WS does not use any meta data file we may have to use MANIFEST file to
set some of the entries available on services.xml file today.

One issue here is few Admin services invoke Axis2 modules, in order to port
these services we have to port some of the Axis2 modules into JAX-WS
modules first.


In generally this modification allow users to write Admin services using
JAX-WS programming model instead of Axis2 native service model. BTW this
modification does not address requirement of decoupling Carbon core and
Axis2. Though  we move Admin services to JAX-WS programming model still we
have to use Axis2 JAX-WS deployment framework to deploy services we just
change web service programming model only. In future if we decide to move
to CXF then we have to repeat above step-1 again that is write a Carbon
based CXF service deployer to deploy a bundle as a service. JAX-WS spec
does not specify any generic deployment approach hence each vendor define
their own deployment mechanism. In case if we want to support Carbon  for
both Axis2 and CXF then Carbon will need to couple with both Axis2 and
CXF.


Thanks !

-- 
Sagara Gunathunga

Technical Lead; WSO2, Inc.; http://wso2.com
Blog - http://ssagara.blogspot.com
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to