Did some more reading in the last days and it seams I won't be able to simply extend Axis2 to add the functionality I'm looking for. Just so everyone really understand what I meant in my previous emails, I think Paul gave the easiest/simplest/clearest description possible :
________________________________ From: Paul Fremantle [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 23, 2008 3:51 AM To: [email protected] Subject: Re: Axis2 service repository supports for hierarchy? So you mean you would like: repo/services/finance/fs1.aar repo/services/accounting/acctserv1,2,3.aar etc I think this would be a fantastic improvement. +1 from me. Paul Correct me if I'm wrong ... * The service deployment is handled internally by the kernel. I could probably add a Deployer to the axis configuration the same way POJO deployment is done, but it seams to be tightly bound to a specific directory in the repository. This is not applicable as the services would need to be dynamically deployed based on their path in the repository, not on a static one defined in the configuration. My actual state of mind (might possibly change as I'm still learning the framework and basics) is that changes are required in the kernel itself, basically because the configuration context needs to be organized and processed differently. * The actual binding between the service and its name need to be extended so the path is part of the service's key. This way 2 services with the same name can co-exist in 2 different sub-directories. * Here are the classes that would need to be modified: * org.apache.axis2.engine.AxisConfiguration * org.apache.axis2.deployment.ServiceDeployer * org.apache.axis2.deployment.repository.util.ArchiveReader * org.apache.axis2.deployment.DeploymentEngine * Dispatching a message from the inflow is different as it can be handled in the execution flow itself. Routing a message to the correct path (service) could be done by creating my own handlers and configure the Dispatch phase to use the new set of Dispatchers. ________________________________ Guillaume Cauchon | DataDirect Technologies inc. -email: [EMAIL PROTECTED] -mobile: 418.952-7357 -work: 418.649-1551 ________________________________ From: Guillaume Cauchon Sent: Wednesday, January 23, 2008 9:30 AM To: '[email protected]' Subject: RE: Axis2 service repository supports for hierarchy? I read about configuring the deployers in the axis2.xml, but from what I understood it basically filters based on the extension... The default Axis2 configuration already deploy the POJO in a separate directory: axis2.xml: ... <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/> ... In fact what I would like to do is be able to organize my web services in sub directories in the repository (services directory). The error I paste in my first email was caused by deploying a service archive in the "test" sub directory: ..\axis2\WEB-INF\services |- services.list |- version-SNAPSHOT.aar |- \test |- STAFF.aar |- ... ________________________________ Guillaume Cauchon | DataDirect Technologies inc. -email: [EMAIL PROTECTED] -mobile: 418.952-7357 -work: 418.649-1551 -----Original Message----- From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 23, 2008 2:46 AM To: [email protected] Subject: Re: Axis2 service repository supports for hierarchy? > I've been playing around with Axis2 in the last few days to see if it > could fit the SOAP stack needs of the project I'm working on. > Great. > > One of the features I'm looking for is the possibility to organize my > web services (archives, POJOs, etc...) under the services repository > (i.e. sub directories), but this feature doesn't seams to be available > yet... > You can do that As I can understand you want to add service aar file and POJOs into the same directory repository services foo.aar xyz.aar MyPojo.class module However you have to configure the deployers in your axis2.xml. > A simple test made with this morning SNAPSHOT: > > > *This Web axisService has deployment faults* > As I can see the error is due to you are trying to deploy an invalid service , and that service does not have META-INF directory which is essential to be a valid service. Thanks Deepal > > > ** > > Error: org.apache.axis2.deployment.DeploymentException: Invalid > service. META-INF directory not found. at > org.apache.axis2.deployment.repository.util.ArchiveReader.processWSDLs(A rchiveReader.java:297) > at > org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java: 66) > at > org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(De ploymentFileData.java:136) > at > org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.j ava:584) > at > org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList .java:141) > at > org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener .java:330) > at > org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryL istener.java:227) > at > org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryL istener.java:324) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(Sche dulerTask.java:64) > at > org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.ja va:71) > at > org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(S cheduler.java:83) > at > > ... > > I need to evaluate the amount of work required to get this kind of > feature available, keep in mind that I'm only beginning in the Axis2 > codebase so I still have a lot of things to learn about the > architecture... My question now, other than extending > org.apache.axis2.deployment.ServiceDeployer so that I can get the web > services deployed, what would be required for this repository > "hierarchy" to work with all of the other components of Axis : > run-time, management, etc? > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
