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