You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Håkon Sagehaug <Ha...@bccs.uib.no> on 2009/07/16 14:53:05 UTC

Calling bpel wf in ode

Hi all,

In my project we'll have a work flow execution module that can execute
different work flows defined in different work flow languages. This
module/service will take the input for the work flow, either the actual
representation of the work flow or maybe the address, if deployed as a web
service like BPEL in ode.

So my question is, is it possible to call a bpel work flow deployed with ODE
by other means then the wsdl interface, by some API where you give the
adress,name and input. If not does anyone know about a "easy" way to create
the soap messages on the fly that is needed to create a generic soap message
for calling a web service.  I'v lookeed some in the org.apache.ode.axis2
package, but could not find anything useful.

Any tips or hits?

cheers, Håkon

-- 
Håkon Sagehaug, Scientific Programmer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)

Re: Calling bpel wf in ode

Posted by Alex Boisvert <bo...@intalio.com>.
Exactly.  And as my example showed, you don't even need a SOAP envelope.
You just need an XML document.  Axis2 will automatically wrap it in a SOAP
envelope if needed (via it 'REST' support)

alex


2009/7/17 Håkon Sagehaug <Ha...@bccs.uib.no>

> Hi
>
> Thanks for the replay, so my problem is really that to make a good method
> for creating a valid soap message for any given web service operation on
> the
> fly. So just wondered about that. Maybe using Pyhton or other  interpreter
> language is good.
>
> cheers, Håkon
>
> 2009/7/16 Alex Boisvert <bo...@intalio.com>
>
> > All processes deployed on Ode (via Axis2) are exposed through simple
> > XML/HTTP interface.
> >
> > You can easily call web services and dynamically create XML message is
> just
> > a few lines of Java code...
> >
> > // assuming Apache Commons httpclient 3.1
> > import org.apache.commons.httpclient.*
> > import org.apache.commons.httpclient.methods.*
> > ...
> > ...
> > PostMethod post = new PostMethod("
> > http://localhost:8080/ode/processes/HelloWorld");
> > post.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
> > post.setRequestBody("<Hello xmlns="http://example.com/HelloWorld
> > ">hello!</Hello>");
> > int code = (new HttpClient()).executeMethod(post);
> > if (code == 200) {
> >  System.out.println(post.getResponseBodyAsString)
> > } else {
> >  System.err.println("Bad response code: "+code);
> > }
> >
> > Armed with a good HTTP/REST library and a decent language (Groovy, Scala,
> > ...) you can do a lot of damage with even fewer  lines of code.
> >
> > Big frameworks are optional.
> >
> > alex
> >
> > 2009/7/16 Håkon Sagehaug <Ha...@bccs.uib.no>
> >
> > > Hi all,
> > >
> > > In my project we'll have a work flow execution module that can execute
> > > different work flows defined in different work flow languages. This
> > > module/service will take the input for the work flow, either the actual
> > > representation of the work flow or maybe the address, if deployed as a
> > web
> > > service like BPEL in ode.
> > >
> > > So my question is, is it possible to call a bpel work flow deployed
> with
> > > ODE
> > > by other means then the wsdl interface, by some API where you give the
> > > adress,name and input. If not does anyone know about a "easy" way to
> > create
> > > the soap messages on the fly that is needed to create a generic soap
> > > message
> > > for calling a web service.  I'v lookeed some in the
> org.apache.ode.axis2
> > > package, but could not find anything useful.
> > >
> > > Any tips or hits?
> > >
> > > cheers, Håkon
> > >
> > > --
> > > Håkon Sagehaug, Scientific Programmer
> > > Parallab, Bergen Center for Computational Science (BCCS)
> > > UNIFOB AS (University of Bergen Research Company)
> > >
> >
>
>
>
> --
> Håkon Sagehaug, Scientific Programmer
> Parallab, Bergen Center for Computational Science (BCCS)
> UNIFOB AS (University of Bergen Research Company)
>

Re: Calling bpel wf in ode

Posted by Håkon Sagehaug <Ha...@bccs.uib.no>.
Hi

Thanks for the replay, so my problem is really that to make a good method
for creating a valid soap message for any given web service operation on the
fly. So just wondered about that. Maybe using Pyhton or other  interpreter
language is good.

cheers, Håkon

2009/7/16 Alex Boisvert <bo...@intalio.com>

> All processes deployed on Ode (via Axis2) are exposed through simple
> XML/HTTP interface.
>
> You can easily call web services and dynamically create XML message is just
> a few lines of Java code...
>
> // assuming Apache Commons httpclient 3.1
> import org.apache.commons.httpclient.*
> import org.apache.commons.httpclient.methods.*
> ...
> ...
> PostMethod post = new PostMethod("
> http://localhost:8080/ode/processes/HelloWorld");
> post.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
> post.setRequestBody("<Hello xmlns="http://example.com/HelloWorld
> ">hello!</Hello>");
> int code = (new HttpClient()).executeMethod(post);
> if (code == 200) {
>  System.out.println(post.getResponseBodyAsString)
> } else {
>  System.err.println("Bad response code: "+code);
> }
>
> Armed with a good HTTP/REST library and a decent language (Groovy, Scala,
> ...) you can do a lot of damage with even fewer  lines of code.
>
> Big frameworks are optional.
>
> alex
>
> 2009/7/16 Håkon Sagehaug <Ha...@bccs.uib.no>
>
> > Hi all,
> >
> > In my project we'll have a work flow execution module that can execute
> > different work flows defined in different work flow languages. This
> > module/service will take the input for the work flow, either the actual
> > representation of the work flow or maybe the address, if deployed as a
> web
> > service like BPEL in ode.
> >
> > So my question is, is it possible to call a bpel work flow deployed with
> > ODE
> > by other means then the wsdl interface, by some API where you give the
> > adress,name and input. If not does anyone know about a "easy" way to
> create
> > the soap messages on the fly that is needed to create a generic soap
> > message
> > for calling a web service.  I'v lookeed some in the org.apache.ode.axis2
> > package, but could not find anything useful.
> >
> > Any tips or hits?
> >
> > cheers, Håkon
> >
> > --
> > Håkon Sagehaug, Scientific Programmer
> > Parallab, Bergen Center for Computational Science (BCCS)
> > UNIFOB AS (University of Bergen Research Company)
> >
>



-- 
Håkon Sagehaug, Scientific Programmer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)

Re: Calling bpel wf in ode

Posted by Alex Boisvert <bo...@intalio.com>.
All processes deployed on Ode (via Axis2) are exposed through simple
XML/HTTP interface.

You can easily call web services and dynamically create XML message is just
a few lines of Java code...

// assuming Apache Commons httpclient 3.1
import org.apache.commons.httpclient.*
import org.apache.commons.httpclient.methods.*
...
...
PostMethod post = new PostMethod("
http://localhost:8080/ode/processes/HelloWorld");
post.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
post.setRequestBody("<Hello xmlns="http://example.com/HelloWorld
">hello!</Hello>");
int code = (new HttpClient()).executeMethod(post);
if (code == 200) {
  System.out.println(post.getResponseBodyAsString)
} else {
  System.err.println("Bad response code: "+code);
}

Armed with a good HTTP/REST library and a decent language (Groovy, Scala,
...) you can do a lot of damage with even fewer  lines of code.

Big frameworks are optional.

alex

2009/7/16 Håkon Sagehaug <Ha...@bccs.uib.no>

> Hi all,
>
> In my project we'll have a work flow execution module that can execute
> different work flows defined in different work flow languages. This
> module/service will take the input for the work flow, either the actual
> representation of the work flow or maybe the address, if deployed as a web
> service like BPEL in ode.
>
> So my question is, is it possible to call a bpel work flow deployed with
> ODE
> by other means then the wsdl interface, by some API where you give the
> adress,name and input. If not does anyone know about a "easy" way to create
> the soap messages on the fly that is needed to create a generic soap
> message
> for calling a web service.  I'v lookeed some in the org.apache.ode.axis2
> package, but could not find anything useful.
>
> Any tips or hits?
>
> cheers, Håkon
>
> --
> Håkon Sagehaug, Scientific Programmer
> Parallab, Bergen Center for Computational Science (BCCS)
> UNIFOB AS (University of Bergen Research Company)
>