10 Replies Latest reply on Nov 22, 2007 8:24 AM by Federico Karabogosian

    jBPM BPEL & Eclipse Process Designer interworking

    Philip Frost Newbie

      Has anybody managed to get a BPEL process designed using the eclipse process designer deploying on to jBoss+BPEL?

      Alternatively, has anybody managed to read in the example processes (Hello, ATM et al) into the process designer to show anything other than a start point and an end point?

      Currently, I think I will need to write the BPEL script by hand. Is this correct?
      regards

        • 1. Re: jBPM BPEL & Eclipse Process Designer interworking
          Philip Frost Newbie

          Maybe it would help if I specified the version numbers:

          eclispe WTP 1.5.2 (bundle) with BPEL editor/model 0.2.0 plugin
          jBoss 4.0.4.GA
          jBPM-BPEL-1.1.beta3
          jdk-1.5.0_11

          cheers

          • 2. Re: jBPM BPEL & Eclipse Process Designer interworking
            Alejandro Guizar Master

            WS-BPEL 2 is a specification that only recently reached status as a standard. jBPM and the BPEL editor currently support different, incompatible draft versions of the specification.

            The jBPM BPEL Quick Start with Eclipse Designer Guide provides instructions for interworking with jBPM BPEL 1.1.Beta1 and Eclipse BPEL 0.2.0. This guide describes the use of Ant scripts for process deployment.

            No updated revision of this document exists for jBPM BPEL 1.1.Beta3, because we are currently working on process deployment via the Eclipse BPEL runtime framework. Watch issue BPEL-216 if you'd like to track this feature.

            • 3. Re: jBPM BPEL & Eclipse Process Designer interworking
              Alejandro Guizar Master

              Please note that my previous comment does not mean that deploying processes designed with Eclipse BPEL 0.2.0 to jBPM BPEL 1.1.Beta3 is not possible.

              Just be aware that the syntax emitted by the designer might not match the syntax expected by the runtime. The purpose of BPEL-216 is determining the discrepancies and correcting them.

              You can help us speed up this task by deploying your processes and reporting any error you find here in the forum or directly in Jira.

              • 4. Re: jBPM BPEL & Eclipse Process Designer interworking
                Federico Karabogosian Newbie

                Hi

                I am trying to develop and deploy a bpel process in Eclipse BPEL Designer 0.3 and jbpm-bpel 1.1Beta3 and Im having a lot of troubles deploying it

                I read in http://lists.jboss.org/pipermail/jboss-user/2007-May/056699.html that with the 0.2 version of Eclipse BPEL Designer it is easy to correct the bpel process to deploy in jboss. But I can't find and install these version of the BPEL Designer. Where I can get these version of the plugins?

                Or are there some documentation about how can we deploy a bpel process using Eclipse BPEL Designer 0.3?

                thanks

                • 5. Re: jBPM BPEL & Eclipse Process Designer interworking
                  Agustín Gañan Newbie

                  It could help if you post some of your troubles.
                  I think that the new version of the plugin is quite similar, so the problems should be similars too.

                  Regards,

                  Agus

                  • 6. Re: jBPM BPEL & Eclipse Process Designer interworking
                    Federico Karabogosian Newbie

                    First, I am using JBoss 4.0.5.GA, jbpm-bpel-1.1Beta3 and Eclipse BPEL Designer 0.3.

                    Secondly, I made a simple bpel process to test the correlation sets. Later I had to change the xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable" to xmlns:bpws=http://schemas.xmlsoap.org/ws/2003/03/business-process/ in the bpel document and set xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" in the wsdl document generated in the project.

                    the bpel of the project is

                    <?xml version="1.0" encoding="UTF-8"?>
                    <bpws:process exitOnStandardFault="yes" name="POC-CorrelationSets"
                     suppressJoinFailure="yes" targetNamespace="http://eclipse.org/bpel/sample"
                     xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://eclipse.org/bpel/sample">
                     <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="POC-CorrelationSets.wsdl" namespace="http://eclipse.org/bpel/sample"/>
                     <bpws:partnerLinks>
                     <bpws:partnerLink name="client" partnerLinkType="tns:POC-CorrelationSets" myRole="POC-CorrelationSetsProvider" partnerRole="POC-CorrelationSetsRequester"/>
                     </bpws:partnerLinks>
                     <bpws:variables>
                     <bpws:variable
                     messageType="tns:POC-CorrelationSetsRequestMessage" name="input"/>
                     <bpws:variable
                     messageType="tns:POC-CorrelationSetsResponseMessage" name="output"/>
                     </bpws:variables>
                     <bpws:sequence name="main">
                     <bpws:receive createInstance="yes" name="receiveInput" operation="initiate" partnerLink="client" portType="tns:POC-CorrelationSets" variable="input"/>
                     <bpws:invoke inputVariable="output" name="callbackClient" operation="onResult" partnerLink="client" portType="tns:POC-CorrelationSetsCallback"/>
                     </bpws:sequence>
                    </bpws:process>
                    

                    and the wsdl is
                    <?xml version="1.0"?>
                    <definitions name="POC-CorrelationSets"
                     targetNamespace="http://eclipse.org/bpel/sample"
                     xmlns:tns="http://eclipse.org/bpel/sample"
                     xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
                     xmlns="http://schemas.xmlsoap.org/wsdl/"
                     >
                    
                    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     TYPE DEFINITION
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                     <types>
                     <schema attributeFormDefault="unqualified"
                     elementFormDefault="qualified"
                     targetNamespace="http://eclipse.org/bpel/sample"
                     xmlns="http://www.w3.org/2001/XMLSchema"
                     >
                    
                     <element name="POC-CorrelationSetsRequest">
                     <complexType>
                     <sequence>
                     <element name="input" type="string" />
                     </sequence>
                     </complexType>
                     </element>
                    
                     <element name="POC-CorrelationSetsResponse">
                     <complexType>
                     <sequence>
                     <element name="result" type="string"/>
                     </sequence>
                     </complexType>
                     </element>
                    
                     </schema>
                     </types>
                    
                    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     MESSAGE TYPE DEFINITION
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                     <message name="POC-CorrelationSetsRequestMessage">
                     <part name="payload" element="tns:POC-CorrelationSetsRequest"/>
                     </message>
                    
                     <message name="POC-CorrelationSetsResponseMessage">
                     <part name="payload" element="tns:POC-CorrelationSetsResponse"/>
                     </message>
                    
                    
                    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     PORT TYPE DEFINITION
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                     <!-- portType implemented by the POC-CorrelationSets BPEL process -->
                     <portType name="POC-CorrelationSets">
                     <operation name="initiate">
                     <input message="tns:POC-CorrelationSetsRequestMessage"/>
                     </operation>
                     </portType>
                    
                     <!-- portType implemented by the requester of POC-CorrelationSets BPEL process
                     for asynchronous callback purposes
                     -->
                     <portType name="POC-CorrelationSetsCallback">
                     <operation name="onResult">
                     <input message="tns:POC-CorrelationSetsResponseMessage"/>
                     </operation>
                     </portType>
                    
                    
                    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     PARTNER LINK TYPE DEFINITION
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                     <plnk:partnerLinkType name="POC-CorrelationSets">
                     <plnk:role name="POC-CorrelationSetsProvider" portType="tns:POC-CorrelationSets"/>
                     <plnk:role name="POC-CorrelationSetsRequester" portType="tns:POC-CorrelationSetsCallback"/>
                     </plnk:partnerLinkType>
                    </definitions>
                    

                    And when I execute the ant deploy-definition I get something like that:
                    12:14:14,046 INFO [[/jbpm-bpel]] processDeployServlet: deploying process definition: file=file:/opt/jbpm-bpel-1.1.Beta3/examples/POC-CorrelationSets/target/POC-CorrelationSets-process.zip
                    12:14:14,134 INFO [BpelReader] read wsdl definitions: POC-CorrelationSets.wsdl
                    12:14:14,196 INFO [BpelReader] read wsdl definitions: POC-CorrelationSets.wsdl
                    12:14:14,198 ERROR [ProblemHandler] POC-CorrelationSets.bpel port type of first role not found [/process/partnerLinks/partnerLink]
                    12:14:14,202 ERROR [ProblemHandler] POC-CorrelationSets.bpel port type of second role not found [/process/partnerLinks/partnerLink]
                    12:14:14,205 ERROR [ProblemHandler] POC-CorrelationSets.bpel port type mismatch between message activity and partner link [/process/sequence/receive]
                    12:14:14,206 ERROR [ProblemHandler] POC-CorrelationSets.bpel operation not found [/process/sequence/receive]
                    12:14:14,208 ERROR [ProblemHandler] POC-CorrelationSets.bpel could not read process document
                    java.lang.NullPointerException
                     at org.jbpm.bpel.xml.BpelReader.readReceiver(BpelReader.java:995)
                     at org.jbpm.bpel.xml.ReceiveReader.readSpecificProperties(ReceiveReader.java:40)
                     at org.jbpm.bpel.xml.ActivityReader.read(ActivityReader.java:54)
                     at org.jbpm.bpel.xml.BpelReader.readActivity(BpelReader.java:1178)
                     at org.jbpm.bpel.xml.SequenceReader.readSpecificProperties(SequenceReader.java:41)
                     at org.jbpm.bpel.xml.ActivityReader.read(ActivityReader.java:54)
                     at org.jbpm.bpel.xml.BpelReader.readActivity(BpelReader.java:1178)
                     at org.jbpm.bpel.xml.BpelReader.readScope(BpelReader.java:540)
                     at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:251)
                    .
                    .
                    .
                    12:14:14,255 ERROR [[processDeployServlet]] Servlet.service() for servlet processDeployServlet threw exception
                    org.jbpm.jpdl.JpdlException: [[ERROR] POC-CorrelationSets.bpel port type of first role not found [/process/partnerLinks/partnerLink], [ERROR] POC-CorrelationSets.bpel port type of second role not found [/process/partnerLinks/partnerLink], [ERROR] POC-CorrelationSets.bpel port type mismatch between message activity and partner link [/process/sequence/receive], [ERROR] POC-CorrelationSets.bpel operation not found [/process/sequence/receive], [ERROR] POC-CorrelationSets.bpel could not read process document]
                    .
                    .
                    .
                    

                    Those are the most relevant error messages, tell me if you need further details

                    A question, are you using Eclipse BPEL Designer 0.3 to develop jbpm-bpel process?

                    thanks

                    saludos/regards,
                    federico

                    • 7. Re: jBPM BPEL & Eclipse Process Designer interworking
                      Agustín Gañan Newbie

                      What does your process do?
                      First you receive a request for the initiate operation, and then you invoke your
                      own bpel process with the onResult operation, is right?? Why?



                      Saludos Federico,

                      Agus

                      P.D.- Para cuando un foro de BPEL en español???

                      • 8. Re: jBPM BPEL & Eclipse Process Designer interworking
                        Federico Karabogosian Newbie

                        Yes, it´s right. It´s just a project to test some concepts.
                        And the initiate operation and onResult operation was create by default by the Eclipse when I selected create a new Asynchronous BPEL Process.

                        Now I added an assign activity to the process to give it more sense.

                        Saludos Agus,

                        Federico

                        PD: jeje, si se prende Alejandro ya seriamos 3 para el foro en español

                        • 9. Re: jBPM BPEL & Eclipse Process Designer interworking
                          Agustín Gañan Newbie

                          Well, I think it will be better to start with a syncrhonous process, withouth invocation. Something like this:

                          http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmBpelDesigner

                          It's an example about how to modify the simple Hello process, but it's a good point to start. The problem is that use an old version of the bpel extension, but if you read de user guide with this I think it will be easy.
                          Post your problems, :)

                          Good luck

                          Agus

                          • 10. Re: jBPM BPEL & Eclipse Process Designer interworking
                            Federico Karabogosian Newbie

                            Muchas Gracias! / Thank you very much!

                            I made a merge between these tutorial and the hello example and I could deploy my little process.

                            A made an asnyncronous process with the bonjour example, and the changes I did in the sources to deploy was:

                            Delete the TYPE DEFINITION in the wsdl
                            Change the PARTNER LINK TYPE from

                            <plnk:partnerLinkType name="bonjour">
                            <plnk:role name="bonjourProvider" portType="tns:bonjour"/>
                            <plnk:role name="bonjourRequester" portType="tns:bonjourCallback"/>
                            </plnk:partnerLinkType>
                            

                            to
                            <plnk:partnerLinkType name="bonjour">
                            <plnk:role name="bonjourProvider">
                            <plnk:portType name="tns:bonjour"/>
                            </plnk:role>
                            <plnk:role name="bonjourRequester">
                            <plnk:portType name="tns:bonjourCallback"/>
                            </plnk:role>
                            </plnk:partnerLinkType>
                            
                            Delete the wsdl import in the bpel file
                            
                            And after that the ant deploy-definition responds me with a 200 (OK)! :)
                            
                            Thank s again, agus