axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Cauchon" <Guillaume.Cauc...@datadirect.com>
Subject RE: Axis2 service repository supports for hierarchy?
Date Fri, 25 Jan 2008 15:47:04 GMT
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:pzfreo@gmail.com] 
Sent: Wednesday, January 23, 2008 3:51 AM
To: axis-user@ws.apache.org
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: 

guillaume.cauchon@datadirect.com

 -mobile: 

418.952-7357

 -work: 

418.649-1551

 

________________________________

From: Guillaume Cauchon 
Sent: Wednesday, January 23, 2008 9:30 AM
To: 'axis-user@ws.apache.org'
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:         guillaume.cauchon@datadirect.com 

 -mobile:       418.952-7357 

 -work:         418.649-1551 

 

-----Original Message-----
From: Deepal Jayasinghe [mailto:deepal@opensource.lk] 
Sent: Wednesday, January 23, 2008 2:46 AM
To: axis-user@ws.apache.org
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: axis-user-unsubscribe@ws.apache.org

For additional commands, e-mail: axis-user-help@ws.apache.org

 


Mime
View raw message