Luciano Resende wrote:
After lots of issues, I can now successfully expose a BPEL component
using the Tuscany WS Binding.
Let me try to summarize the issues I found, and how I fixed and/or
workarounded them:

- TUSCANY-2316 - The ws-binding was overriding the databinding
definition on the contract and causing issues. I have cloned the
interface contract in the axis binding code
(Axis2ServiceBindingProvider)

- TUSCANY-2321 - When invoking the BPEL component from a regular pojo,
the databinding framework was passing a DOM Element during invocation,
but when the BPEL component was exposed using ws-binding it was
receiving a DOM Document. I have workarounded this issue in impl-bpel
by supporting the two DOM Object types for now.

- The last issue was related to how the ws-binding calculates the wsdl
service QName. When exposing the BPEL component as webservice, the
ws-binding (Axis2ServiceClient.setServiceAndPort) the service QName
was being calculated to " {ns}HelloPortType_Service" instead of "
{ns}HelloService" as defined in the wsdl, I have workarounded this by
explicitly defining the service as part of the binding.ws in the the
composite file like :<binding.ws
uri="http://localhost:8085/HelloPartnerLink";
wsdlElement="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.service(HelloService)"/>.
It would be good if someone could jump and give a quick help here.

I have committed all the fixes/workaround mentioned above, and also
added a itest/bpel/helloworld-ws project that exposes a BPEL component
using webservices (ws-binding).

Please let me know if you have questions/comments.

Luciano,

Well done.  At least now we have BPEL doing what it was designed to do !!!

One thing we should now be able to demonstrate with BPEL and Tuscany is the ability to use BPEL processes with *any* protocols, which you don't get by default with BPEL itself - this makes the BPEL model much stronger as it no longer requires everything to be Web services - you can talk to other services through whichever protocols they use, as long as the service messages are mappable to XML.


Yours,  Mike.



Reply via email to