1

I'd like to write a axis2 webservice for deploying BPEL Processes on a Apache ODE.

At the moment I have two main issues/questions.

  1. I wrote a simple WS that creates a file. It works fine in eclipse with a integrated apache tomcat with axis2. But if I run the service on the exact same server without ecplise it won't work and I get 'Unhandled IOException' Errors, although I have the handling implemented (otherwise ecplise would cry about it all the time).

    EDIT: I solved it by not uploading the service.aar with axis2 but putting it in the /webapps folder.

  2. How do I get access to the folder were I need to put the BPEL files? Is it obligatory that the service runs on the same server as the ODE?

    EDIT: Getting access to the folder on the same server is an easy one with 1.

  3. How do I transfer files with a webservice? Better: How do I implement it?

snippl
  • 235
  • 1
  • 2
  • 13

1 Answers1

1

Regarding 2) you can use the deployment API exposed by ODE. This allows for transfering deployment units (zip files containing BPELs, WSDLs, DDs) via SOAP to ODE and starting the deployment.

The WSDL is available at http://.../processes/DeploymentService?wsdl, on the default installation that would be http://localhost:8080/ode/processes/DeploymentService?wsdl

vanto
  • 3,134
  • 18
  • 28
  • That looks promising. Where is that documented? The only thing I found regarding API was the process an the instance management. – snippl Dec 03 '12 at 07:18
  • Apparently, the docs for this service is missing. However, you can use the [WSDL](https://github.com/apache/ode/blob/trunk/axis2/src/main/wsdl/deploy.wsdl) and [implementation](https://github.com/apache/ode/blob/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java) as a reference. – vanto Dec 03 '12 at 08:00
  • So far so good. I'd like to write a Client for the service in java. However generating a Stub with axis is unsatisfying because it generates about 10k lines of code. I'm new to programming against Stubs so that is probably not a goog start. Unfortunately wsimport out of the jdk can't consume the wsdl. Do you have any suggestions? – snippl Dec 14 '12 at 15:50
  • What does wsimport complain about? However, generating a lot of glue code is quite common in that enterprise WS-* world ;) If you prefer lightweight solutions, you may send an HTTP POST directly. – vanto Dec 17 '12 at 07:24
  • I figuered it out. Thank you. I might ask another question concerning the managment api, because I can't forge a correct request for activating a process with the pid. Every pid I get returned by any operations (DeploymentService or Managment API) seems not to fit to the requested pid in die particular request. – snippl Dec 17 '12 at 08:48
  • Why does the DeploymentService append a Number to my Processname? Can I get rid of that? – snippl Dec 17 '12 at 18:42
  • 1
    No, this is the version number. If you deploy the same process again, it will create a new version and will retire the old version. This makes sure that running process instances complete following the old model while new instance are created against the new model. See the [docs](http://ode.apache.org/process-versioning.html) for details. – vanto Dec 18 '12 at 15:59
  • Thank you. Can you have a look at a other question of mine http://stackoverflow.com/questions/13913753/apache-ode-processmanagement – snippl Dec 18 '12 at 16:38