Moving further with this, I have created a service named AddService (as a POJO)
that is responsible for deploying new services. I am running Axis2 as a web app
in JBoss. Following some of the suggestions on deploying services dynamically,
I have the following code in an operation of the AddService that I am trying to
run:
=========
public void deployNewService(String serviceName, String serviceClass) throws
Exception {
ConfigurationContext myConfigContext =
MessageContext.getCurrentMessageContext().getConfigurationContext();
AxisService service = AxisService.createService(serviceClass,
myConfigContext.getAxisConfiguration(),
org.apache.axis2.receivers.RawXMLINOutMessageReceiver.class);
myConfigContext.getAxisConfiguration().addService(service);
....
========
For now, the serviceClass is present in the AddService.aar. But when this
operation is invoked from a soap client, I am getting the following error.
---
Caused by: java.lang.ClassNotFoundException: mytest.CreateRequestSkeleton.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.apache.ws.java2wsdl.SchemaGenerator.<init>(SchemaGenerator.java:92)
at
org.apache.axis2.description.AxisService.createService(AxisService.java:1474)
----------
Note that the mytest.CreateRequestSkeleton class is present in the
AddService.aar. I also tried adding the class in a jar and place it in
axis2.war/WEB--INF/lib directory.
What am I missing here? Should'nt the class be loaded from either the aar or
from the WEB-INF/lib?
Thanks,
Shantanu Sen
----- Original Message ----
From: Shantanu Sen <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, February 20, 2007 12:51:29 PM
Subject: Re: AXIS2: Dynamic creation and deploy of service
Hi Angel,
That is exactly what I am looking for. I think there is no other way for
generating the service - we have to run wsdl2java with the -adb option and
gather the generated artifacts, although I was looking for avoiding the
generation of an aar file and hoping that I could do the service creation
programmatically and supply a 'skeleton' that will implement the relevant
service operations as defined in the WSDL. But I do not see any way I can do
that.
The next phase is deployment - please post the code (or if that is not possible
the basic steps that are required) for programmatic (hot) deployment.
Thanks for your help.
Shantanu
----- Original Message ----
From: Angel Todorov <[EMAIL PROTECTED]>
To: [email protected]
Sent: Saturday, February 17, 2007 1:32:38 AM
Subject: Re: AXIS2: Dynamic creation and deploy of service
Hi Shantanu,
I have coded exactly what you want, including patches to the
deployment engine of Axis2. There is a remote deployment API which you
can call from anywhere via HTTP or a web service. The repository
listener is synchronized so that a File system scheduler and a remote
deployment call don't intervene. You also get feedback regarding the
status of the deployed service (faulty or not, and if faulty - why).
If you could wait until tomorrow i can send these to the ML. Thanks.
Best,
Angel
On 2/16/07, Shantanu Sen <[EMAIL PROTECTED]> wrote:
> Yes, if you could send some pointers it would be of great help.
>
> Firstly - to generate the service I can run the wsdl2java and generate the
> necessary artifacts. Is there any other way? All we are interested is that
> the service will have multiple operations that take in XML documents, so if
> we have just an OMElement as the input and output for each of these
> operations, it will work fine for us.
>
> Secondly, once I have a service, how do I programmatically register the
> service (axis2 is running as a web app on an appserver). Once we register the
> service programmatically (i.e. hot deployment) can we also persist the
> deployment?
>
> Any help would be greatly appreciated.
>
> Thanks,
> Shantanu
>
> ----- Original Message ----
> From: Deepal Jayasinghe <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Thursday, February 15, 2007 8:57:37 PM
> Subject: Re: AXIS2: Dynamic creation and deploy of service
>
> Hi Shantanu ;
> There is no sample as such in the axis2 codebase for this particular
> case, but if you want we will be able to help you.
>
> Thanks
> Deepal
>
> >Is there any sample that shows how to programmatically create a service
> >(from a WSDL) and deploy it on an instance of Axis2 running on a appserver
> >such as JBoss?
> >
> >Thanks,
> >Shantanu Sen
> >
> >
> >---------------------------------------------------------------------
> >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]
>
>
>
>
>
> ---------------------------------------------------------------------
> 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]
---------------------------------------------------------------------
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]