Manually add external WSDL invocation to existing BEPL stub [message #1079360] |
Sun, 04 August 2013 08:53  |
Eclipse User |
|
|
|
Hello:
I have a SOAP/WSDL server up and running. Based on a simple hello-world example (a single function called say_hello that accepts a string and outputs a string), the server exposes an automatically generated WSDL description. For example, I can call localhost:8080/?wsdl and save the WSDL description to a file.
Now, I wish to add the invocation of the say_hello function described in the WSDL to an existing BEPL stub (both files are attached).
Unfortunately, this rather common use-case is not covered by the SMILA help on http://wiki.eclipse.org/SMILA/Documentation/BPEL_Workflow_Processor and I think any solution/how-to on this would be a very useful addition.
I am not familiar with the BEPL Designer at all and would rather know and understand the actual lines required to add to the BEPL stub. From what I understand I need to add a partner link and the actual invocation, but perhaps also some variable copying ... Any hints to other helpful resources on this are welcomed as well.
Thank you in advance!
|
|
|
Re: Manually add external WSDL invocation to existing BEPL stub [message #1080094 is a reply to message #1079360] |
Mon, 05 August 2013 09:08   |
Eclipse User |
|
|
|
Hello,
Am 05.08.2013, 14:13 Uhr, schrieb Missing name Mising name
<forums-noreply@xxxxxxxx>:
> Hello:
>
> Now, I wish to add the invocation of the say_hello function described in
> the WSDL to an existing BEPL stub (both files are attached).
>
> Unfortunately, this rather common use-case is not covered by the SMILA
> help on
> http://wiki.eclipse.org/SMILA/Documentation/BPEL_Workflow_Processor and
> I think any solution/how-to on this would be a very useful addition.>
Actually, though it may look like a common use-case it is not done very
often (at
least in our applications) because it's quite awkward to copy the results
from a
webservice into the SMILA record structure in BPEL using XML manipulation.
It's
often easier to write a pipelet that invokes the webservice and do the
result
evaluation in Java (at least for me). There is a How-To on this at
http://wiki.eclipse.org/SMILA/Documentation/HowTo/How_to_integrate_the_HelloWorld_webservice_as_a_Pipelet.
However, if you really want to do this in native BPEL, you can have a look
at
the org.eclipse.smila.processing.bpel.test bundle which is part of the
SMILA source
code. It contains a test case
org.eclipse.smila.processing.bpel.test.TestHelloWorldPipeline,
that calls a HelloWorld-webservice deployed locally in the SMILA test
environment
via the BPEL process in
configuration/org.eclipse.smila.processing.bpel/pipelines/helloworldpipeline.bpel.
The necessary WSDL and XSD files are also located in this directory.
Finally, ODE's deploy.xml
file must have some extra lines to define the partner link:
<process name="proc:HelloWorldPipeline">
<in-memory>true</in-memory>
<provide partnerLink="Pipeline">
<service name="proc:HelloWorldPipeline" port="ProcessorPort" />
</provide>
<invoke partnerLink="HelloWorld">
<service name="hw:HelloWorldService" port="HelloWorldPort" />
</invoke>
</process>
Hope this helps (;
Regards,
Juergen
|
|
|
|
|
|
Re: Manually add external WSDL invocation to existing BEPL stub [message #1081674 is a reply to message #1081032] |
Wed, 07 August 2013 10:32  |
Eclipse User |
|
|
|
Am 06.08.2013, 20:05 Uhr, schrieb Missing name Mising name
<forums-noreply@xxxxxxxx>:
> Dear Juergen:
>
> I followed closely the HelloWorldPipeline webservice example you point
> out, but SMILA fails deploying my own BEPL pipeline. Like you explained,
> I added the files to
> /configuration/org.eclipse.smila.processing.bpel/pipelines and added an
> entry in deploy.xml (all quite similar to the HelloWorldPipeline).
>
> The SMILA.log only shows:
>
> ..
> 2013-08-06 18:42:42,093 ERROR [Component Resolve Thread (Bundle
> 5) ] store.ProcessStoreImpl - Deploy
> failed; process "{http://www.eclipse.org/smila/processor}TestPipeline"
> not found in deployment unit "pipelines".
>
> ...
>
> Is there a way to enable advanced debugging information via the
> log4j.properties config file to trace down such WSDL/BPEL definition
> issues?
>
> Thank you.
>
> Markus
I suppose you could try switching on DEBUG logging for org.apache.ode.
But I think, the message means that the process names in the BPEL file and
the deploy.xml don't match.
These must be consistent:
in BPEL file: <process name="AddPipeline" ...
in deploy.xml: <process name="proc:AddPipeline"> <-- here
<in-memory>true</in-memory>
<provide partnerLink="Pipeline">
<service name="proc:AddPipeline" port="ProcessorPort" /> <-- and
here
</provide>
</process>
Regards,
Juergen.
|
|
|
Powered by
FUDForum. Page generated in 0.03644 seconds