8 Replies Latest reply on Dec 17, 2005 10:21 PM by Alejandro Guizar

    Problem during deploying my own bpel process in jbpm bpel (B

    Fabricio Nogueira Newbie

      Hello all,

      I want to deploy a very simple process in jbpm Bpel. I could configure and test helloworld example. Now, I have a web service (in my localhost using axis) that only receives a string and replies it with a gretting message. I modelled this process using JDeveloper from Oracle due to facility. This process receives the string and call the web service to get the gretting message.

      My bpel process is this:

      <!--
       /////////////////////////////////////////////////////////////////////////////////////////////
       // Oracle JDeveloper BPEL Designer
       //
       // Created: Thu Dec 08 22:17:32 BRST 2005
       // Author: Fasilva
       // Purpose: Synchronous BPEL Process
       /////////////////////////////////////////////////////////////////////////////////////////////
      -->
      <process name="myEcho" targetNamespace="http://xmlns.oracle.com/myEcho" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://localhost:8081/axis/myEcho.jws" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://xmlns.oracle.com/myEcho" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
       <partnerLinks>
       <partnerLink name="client" partnerLinkType="client:myEcho" myRole="myEchoProvider"/>
       <partnerLink myRole="myEcho_Role" name="myEcho" partnerRole="myEcho_Role" partnerLinkType="ns1:myEcho_PL"/>
       </partnerLinks>
       <variables>
       <variable name="inputVariable" messageType="client:myEchoRequestMessage"/>
       <variable name="outputVariable" messageType="client:myEchoResponseMessage"/>
       <variable name="Invoke_1_echo_InputVariable" messageType="ns1:echoRequest"/>
       <variable name="Invoke_1_echo_OutputVariable" messageType="ns1:echoResponse"/>
       </variables>
       <sequence name="main">
       <receive name="receiveInput" partnerLink="client" portType="client:myEcho" operation="process" variable="inputVariable" createInstance="yes"/>
       <scope name="Scope_1">
       <sequence name="Sequence_1">
       <assign name="InEcho">
       <copy>
       <from variable="inputVariable" part="payload" query="/client:myEchoProcessRequest/client:input"/>
       <to variable="Invoke_1_echo_InputVariable" part="s"/>
       </copy>
       </assign>
       <invoke name="myEcho" partnerLink="myEcho" portType="ns1:myEcho" operation="echo" inputVariable="Invoke_1_echo_InputVariable" outputVariable="Invoke_1_echo_OutputVariable"/>
       <assign name="EchoOut">
       <copy>
       <from variable="Invoke_1_echo_OutputVariable" part="echoReturn"/>
       <to variable="outputVariable" part="payload" query="/client:myEchoProcessResponse/client:result"/>
       </copy>
       </assign>
       </sequence>
       </scope>
       <reply name="replyOutput" partnerLink="client" portType="client:myEcho" operation="process" variable="outputVariable"/>
       </sequence>
      </process>
      


      And the wsdl for this process is:

      <?xml version="1.0" encoding="UTF-8"?>
      <definitions name="myEcho"
       targetNamespace="http://xmlns.oracle.com/myEcho"
       xmlns="http://schemas.xmlsoap.org/wsdl/"
       xmlns:client="http://xmlns.oracle.com/myEcho"
       xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
       <types>
       <schema attributeFormDefault="qualified"
       elementFormDefault="qualified"
       targetNamespace="http://xmlns.oracle.com/myEcho"
       xmlns="http://www.w3.org/2001/XMLSchema">
       <element name="myEchoProcessRequest">
       <complexType>
       <sequence>
       <element name="input" type="string"/>
       </sequence>
       </complexType>
       </element>
       <element name="myEchoProcessResponse">
       <complexType>
       <sequence>
       <element name="result" type="string"/>
       </sequence>
       </complexType>
       </element>
       </schema>
       </types>
      
       <message name="myEchoRequestMessage">
       <part name="payload" element="client:myEchoProcessRequest"/>
       </message>
       <message name="myEchoResponseMessage">
       <part name="payload" element="client:myEchoProcessResponse"/>
       </message>
      
      
       <portType name="myEcho">
       <operation name="process">
       <input message="client:myEchoRequestMessage" />
       <output message="client:myEchoResponseMessage"/>
       </operation>
       </portType>
       <plnk:partnerLinkType name="myEcho">
       <plnk:role name="myEchoProvider">
       <plnk:portType name="client:myEcho"/>
       </plnk:role>
       </plnk:partnerLinkType>
      </definitions>



      I set build.properties, hibernate.properties and build.xml to keep up with my configuration.After that I could run the command "ant pack-definition" without problems, But when I need to run the next command "ant deploy-definition". I'm getting the following error:

      [deploypar] 20:55:23,798 DEBUG BpelReader : upgraded bpel document: myEcho.bpel
      [deploypar] 20:55:23,808 ERROR ProblemCollector : myEcho.bpel bpel process is invalid.
      [deploypar] org.jbpm.bpel.xml.BpelException: message type ns1:echoRequest not found [/process/variables/variable[3]]
      [deploypar] at org.jbpm.bpel.xml.BpelReader.getMessageTypeInfo(BpelReader.java:620)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.getTypeInfo(BpelReader.java:597)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.readVariable(BpelReader.java:580)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.readVariables(BpelReader.java:561)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.readScope(BpelReader.java:404)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:206)
      [deploypar] at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:162)
      [deploypar] at org.jbpm.bpel.par.BpelArchiveParser.readFromArchive(BpelArchiveParser.java:28)
      [deploypar] at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:46)
      [deploypar] at org.jbpm.graph.def.ProcessDefinition.parseParZipInputStream(ProcessDefinition.java:154)
      [deploypar] at org.jbpm.jpdl.par.ProcessArchiveDeployer.deployZipInputStream(ProcessArchiveDeployer.java:46)
      [deploypar] at org.jbpm.ant.DeployParTask.deploy(DeployParTask.java:69)
      [deploypar] at org.jbpm.ant.DeployParTask.execute(DeployParTask.java:57)
      [deploypar] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
      [deploypar] at org.apache.tools.ant.Task.perform(Task.java:364)
      [deploypar] at org.apache.tools.ant.Target.execute(Target.java:341)
      [deploypar] at org.apache.tools.ant.Target.performTasks(Target.java:369)
      [deploypar] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
      [deploypar] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
      [deploypar] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
      [deploypar] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
      [deploypar] at org.apache.tools.ant.Main.runBuild(Main.java:668)
      [deploypar] at org.apache.tools.ant.Main.startAnt(Main.java:187)
      [deploypar] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
      [deploypar] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
      [deploypar] 20:55:23,933 DEBUG ProcessArchiveDeployer : starting transaction to deploy process BpelDefinition(myEcho)
      [deploypar] 20:55:24,840 DEBUG ProcessArchiveDeployer : flushing...
      [deploypar] 20:55:25,265 DEBUG ProcessArchiveDeployer : committing transaction to deploy process BpelDefinition(myEcho)
      


      I can't understand why that message " message type ns1:echoRequest not found [/process/variables/variable[3]]" is being showed.

      Could you help me to understand it please?


        • 1. Re: Problem during deploying my own bpel process in jbpm bpe
          Alejandro Guizar Master

          First, let me elaborate on the error message. /process/variables/variable[3] is the XPath to the "offending" element:

          <variables>
           <variable name="inputVariable" messageType="client:myEchoRequestMessage"/>
           <variable name="outputVariable" messageType="client:myEchoResponseMessage"/>
           <variable name="Invoke_1_echo_InputVariable" messageType="ns1:echoRequest"/>
           <variable name="Invoke_1_echo_OutputVariable" messageType="ns1:echoResponse"/>
           </variables>

          By "message type not found" I mean ns1:echoRequest does not exist in the WSDL documents known to the process deployer (referenced in file bpel-definition.xml).

          Going to your WSDL document, I see a myEchoRequestMessage, but not a echoRequest. Also, the namespace URI associated with ns1 in the process document (http://localhost:8081/axis/myEcho.jws) does not match the target namespace of your WSDL definitions(http://xmlns.oracle.com/myEcho). Check it out.

          • 3. Re: Problem during deploying my own bpel process in jbpm bpe
            Alejandro Guizar Master

            Fabricio,

            I'm very interested in verifying our BPEL extension is able to run processes designed in other products' editors. Let me know your results.

            • 4. Re: Problem during deploying my own bpel process in jbpm bpe
              Fabricio Nogueira Newbie

              Ok Alejandro,

              I'll post all my success and insuccess with this experience.

              Thanks,

              Fabricio.

              • 5. Re: Problem during deploying my own bpel process in jbpm bpe
                Fabricio Nogueira Newbie

                Hello Alejandro and Jbpm users,

                I think I don't know how to deploy this bpel process. I'll try to explain how JDeveloper Bpel designer created the files. When I modelled my bpel process I noticed that a wsdl file for the web service that I'm calling was generated and I didn't put it in my previous bpel-definition.xml file. Now I have my myEcho folders structured as:

                myEcho
                 hibernate.properties
                 jndi.properties
                 log4j.properties
                 build.properties
                 build.xml
                 [definition]
                 bpel-definition.xml
                 myEcho.bpel
                 myEcho.wsdl
                 myEcho1.wsdl
                


                And the files are:

                bpel-definition.xml
                <!-- specifies the location of the process definition -->
                <bpelDefinition location="myEcho.bpel" xmlns="http://jbpm.org/bpel"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://jbpm.org/bpel
                 http://jbpm.org/bpel/bpel_definition_1_0.xsd">
                
                 <!-- makes WSDL interface elements available to the process -->
                 <imports>
                 <wsdl namespace="http://xmlns.oracle.com/myEcho" location="myEcho.wsdl"/>
                 <wsdl namespace="http://localhost:8081/axis/myEcho.jws" location="myEcho1.wsdl"/>
                 </imports>
                
                </bpelDefinition>
                


                myEcho.bpel file is:

                <!--
                 /////////////////////////////////////////////////////////////////////////////////////////////
                 // Oracle JDeveloper BPEL Designer
                 //
                 // Created: Thu Dec 08 22:17:32 BRST 2005
                 // Author: Fasilva
                 // Purpose: Synchronous BPEL Process
                 /////////////////////////////////////////////////////////////////////////////////////////////
                -->
                <process name="myEcho" targetNamespace="http://xmlns.oracle.com/myEcho" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://localhost:8081/axis/myEcho.jws" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://xmlns.oracle.com/myEcho" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
                
                <!-- ================================================================= -->
                <!-- PARTNERLINKS -->
                <!-- List of services participating in this BPEL process -->
                <!-- ================================================================= -->
                
                 <partnerLinks>
                 <partnerLink name="client" partnerLinkType="client:myEcho" myRole="myEchoProvider"/>
                 <partnerLink myRole="myEcho_Role" name="myEcho" partnerRole="myEcho_Role" partnerLinkType="ns1:myEcho_PL"/>
                 </partnerLinks>
                
                <!-- ================================================================= -->
                <!-- VARIABLES -->
                <!-- List of messages and XML documents used within this BPEL process -->
                <!-- ================================================================= -->
                
                 <variables><!-- Reference to the message passed as input during initiation -->
                 <variable name="inputVariable" messageType="client:myEchoRequestMessage"/>
                
                <!-- Reference to the message that will be returned to the requester -->
                
                 <variable name="outputVariable" messageType="client:myEchoResponseMessage"/>
                 <variable name="Invoke_1_echo_InputVariable" messageType="ns1:echoRequest"/>
                 <variable name="Invoke_1_echo_OutputVariable" messageType="ns1:echoResponse"/>
                 </variables>
                
                <!-- ================================================================= -->
                <!-- ORCHESTRATION LOGIC -->
                <!-- Set of activities coordinating the flow of messages across the -->
                <!-- services integrated within this business process -->
                <!-- ================================================================= -->
                
                 <sequence name="main">
                <!--
                 Receive input from requestor.
                 Note: This maps to operation defined in myEcho.wsdl
                -->
                 <receive name="receiveInput" partnerLink="client" portType="client:myEcho" operation="process" variable="inputVariable" createInstance="yes"/>
                
                 <!-- Generate reply to synchronous request -->
                
                 <scope name="Scope_1">
                 <sequence name="Sequence_1">
                 <assign name="InEcho">
                 <copy>
                 <from variable="inputVariable" part="payload" query="/client:myEchoProcessRequest/client:input"/>
                 <to variable="Invoke_1_echo_InputVariable" part="s"/>
                 </copy>
                 </assign>
                 <invoke name="myEcho" partnerLink="myEcho" portType="ns1:myEcho" operation="echo" inputVariable="Invoke_1_echo_InputVariable" outputVariable="Invoke_1_echo_OutputVariable"/>
                 <assign name="EchoOut">
                 <copy>
                 <from variable="Invoke_1_echo_OutputVariable" part="echoReturn"/>
                 <to variable="outputVariable" part="payload" query="/client:myEchoProcessResponse/client:result"/>
                 </copy>
                 </assign>
                 </sequence>
                 </scope>
                 <reply name="replyOutput" partnerLink="client" portType="client:myEcho" operation="process" variable="outputVariable"/>
                 </sequence>
                </process>
                


                myEcho.wsdl is:

                <?xml version="1.0" encoding="UTF-8"?>
                <definitions name="myEcho"
                 targetNamespace="http://xmlns.oracle.com/myEcho"
                 xmlns="http://schemas.xmlsoap.org/wsdl/"
                 xmlns:client="http://xmlns.oracle.com/myEcho"
                 xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
                
                 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 TYPE DEFINITION - List of services participating in this BPEL process
                 The default output of the BPEL designer uses strings as input and
                 output to the BPEL Process. But you can define or import any XML
                 Schema type and us them as part of the message types.
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                 <types>
                 <schema attributeFormDefault="qualified"
                 elementFormDefault="qualified"
                 targetNamespace="http://xmlns.oracle.com/myEcho"
                 xmlns="http://www.w3.org/2001/XMLSchema">
                 <element name="myEchoProcessRequest">
                 <complexType>
                 <sequence>
                 <element name="input" type="string"/>
                 </sequence>
                 </complexType>
                 </element>
                 <element name="myEchoProcessResponse">
                 <complexType>
                 <sequence>
                 <element name="result" type="string"/>
                 </sequence>
                 </complexType>
                 </element>
                 </schema>
                 </types>
                
                 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 MESSAGE TYPE DEFINITION - Definition of the message types used as
                 part of the port type defintions
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                 <message name="myEchoRequestMessage">
                 <part name="payload" element="client:myEchoProcessRequest"/>
                 </message>
                 <message name="myEchoResponseMessage">
                 <part name="payload" element="client:myEchoProcessResponse"/>
                 </message>
                
                 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 PORT TYPE DEFINITION - A port type groups a set of operations into
                 a logical service unit.
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                
                 <!-- portType implemented by the myEcho BPEL process -->
                 <portType name="myEcho">
                 <operation name="process">
                 <input message="client:myEchoRequestMessage" />
                 <output message="client:myEchoResponseMessage"/>
                 </operation>
                 </portType>
                
                 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 PARTNER LINK TYPE DEFINITION
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
                 <plnk:partnerLinkType name="myEcho">
                 <plnk:role name="myEchoProvider">
                 <plnk:portType name="client:myEcho"/>
                 </plnk:role>
                 </plnk:partnerLinkType>
                </definitions>
                


                And now I have this file about the web service wsdl:

                <definitions
                
                 targetNamespace="http://localhost:8081/axis/myEcho.jws"
                 xmlns="http://schemas.xmlsoap.org/wsdl/"
                 xmlns:impl="http://localhost:8081/axis/myEcho.jws"
                 xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                 xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                 >
                 <import namespace="http://localhost:8081/axis/myEcho.jws" location="http://localhost:8081/axis/myEcho.jws?wsdl"/>
                 <plnk:partnerLinkType name="myEcho_PL">
                 <plnk:role name="myEcho_Role">
                 <plnk:portType name="impl:myEcho"/>
                 </plnk:role>
                 </plnk:partnerLinkType>
                </definitions>
                


                Now, with this new configurarion I run ant pack-definition and the myEcho-definition.par is generated ok. And I'm getting a diferent error running ant deploy-definition.

                [deploypar] 23:08:59,152 DEBUG ImportWsdlLocator : upgraded wsdl document: myEcho.wsdl
                [deploypar] 23:08:59,179 INFO BpelReader : read wsdl definitions: myEcho.wsdl
                [deploypar] 23:08:59,189 DEBUG ImportWsdlLocator : upgraded wsdl document: myEcho1.wsdl
                [deploypar] 23:08:59,263 INFO BpelReader : read wsdl definitions: myEcho1.wsdl
                [deploypar] 23:08:59,374 DEBUG BpelReader : upgraded bpel document: myEcho.bpel
                [deploypar] 23:08:59,390 ERROR ProblemCollector : myEcho.bpel bpel process is invalid.
                [deploypar] org.jbpm.bpel.xml.BpelException: both myRole and partnerRole are specified, but there is only one role [/process/partnerLinks/partnerLink[2]]
                [deploypar] at org.jbpm.bpel.xml.BpelReader.readPartnerLink(BpelReader.java:754)
                [deploypar] at org.jbpm.bpel.xml.BpelReader.readPartnerLinks(BpelReader.java:686)
                [deploypar] at org.jbpm.bpel.xml.BpelReader.readScope(BpelReader.java:408)
                [deploypar] at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:206)
                [deploypar] at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:162)
                [deploypar] at org.jbpm.bpel.par.BpelArchiveParser.readFromArchive(BpelArchiveParser.java:28)
                [deploypar] at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:46)
                [deploypar] at org.jbpm.graph.def.ProcessDefinition.parseParZipInputStream(ProcessDefinition.java:154)
                [deploypar] at org.jbpm.jpdl.par.ProcessArchiveDeployer.deployZipInputStream(ProcessArchiveDeployer.java:46)
                [deploypar] at org.jbpm.ant.DeployParTask.deploy(DeployParTask.java:69)
                [deploypar] at org.jbpm.ant.DeployParTask.execute(DeployParTask.java:57)
                [deploypar] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
                [deploypar] at org.apache.tools.ant.Task.perform(Task.java:364)
                [deploypar] at org.apache.tools.ant.Target.execute(Target.java:341)
                [deploypar] at org.apache.tools.ant.Target.performTasks(Target.java:369)
                [deploypar] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
                [deploypar] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
                [deploypar] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
                [deploypar] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
                [deploypar] at org.apache.tools.ant.Main.runBuild(Main.java:668)
                [deploypar] at org.apache.tools.ant.Main.startAnt(Main.java:187)
                [deploypar] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
                [deploypar] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
                [deploypar] 23:08:59,492 DEBUG ProcessArchiveDeployer : starting transaction to deploy process BpelDefinition(myEcho)
                [deploypar] 23:09:00,041 DEBUG ProcessArchiveDeployer : flushing...
                [deploypar] 23:09:00,172 DEBUG ProcessArchiveDeployer : committing transaction to deploy process BpelDefinition(myEcho)
                


                Maybe I don't know how to make my bpel-definition.xml file. Is it necessary to have the myEcho1.wsdl inside it? I really don't know how to deploy this process; :-(

                Thanks in advance.

                Fabrício

                • 6. Re: Problem during deploying my own bpel process in jbpm bpe
                  Alejandro Guizar Master

                  This is not a deployment problem. The BPEL document contains an error. Take a look at /process/partnerLinks/partnerLink[2]:

                  <partnerLinks>
                   <partnerLink name="client" partnerLinkType="client:myEcho" myRole="myEchoProvider"/>
                   <partnerLink name="myEcho" partnerRole="myEcho_Role" myRole="myEcho_Role" partnerLinkType="ns1:myEcho_PL"/>
                   </partnerLinks>

                  It defines a bidirectional relationship between the process and an external service. Now follow the partner link type reference to {http://localhost:8081/axis/myEcho.jws}myEcho_PL:
                  <plnk:partnerLinkType name="myEcho_PL">
                   <plnk:role name="myEcho_Role">
                   <plnk:portType name="impl:myEcho"/>
                   </plnk:role>
                   </plnk:partnerLinkType>

                  It declares an unidirectional relationship, since it contains only one role subelement. This makes sense because your process does not receive through the myEcho partner link. In this situation, the partner link has no reason to assign a role to the BPEL service. Therefore, you should drop the myRole attribute.

                  • 7. Re: Problem during deploying my own bpel process in jbpm bpe
                    Fabricio Nogueira Newbie

                    Alejandro,

                    thanks for your reply, the ant deploy-definition command worked now. I'm going to folow the next steps now. But, It's weird because those files were all generated by Oracle JDeveloper Bpel Designer and work with Oracle Business Process Manager deployment.

                    Maybe, this is a stupid question. But what do you mean with "This makes sense because your process does not receive through the myEcho partner link". Are you saying that the service won't return anything to the process? Because, myEcho service returns a greeting message to the process. As you can see in the jws:

                    public class myEcho {
                    
                     public String echo(String s){
                     return "Hello, " + s + ". Nice to meet you!";
                     }
                    
                    }
                    


                    Am I making a misunderstanding about what you said?

                    Thanks in advance,

                    Fabrício.




                    • 8. Re: Problem during deploying my own bpel process in jbpm bpe
                      Alejandro Guizar Master

                       

                      It's weird because those files were all generated by Oracle JDeveloper Bpel Designer and work with Oracle Business Process Manager deployment

                      Quite weird. The BPEL spec is clear in this point. From section 7.2:
                      The role of the business process itself is indicated by the attribute myRole and the role of the partner is indicated by the attribute partnerRole. In the degenerate case where a partnerLinkType has only one role, one of these attributes is omitted as appropriate


                      what do you mean with "This makes sense because your process does not receive through the myEcho partner link"

                      I meant asynchronous reception: using the partner link in a receive activity to get a separate response to a previous request placed with an one-way invoke activity. Such an interaction pattern is quite different from a request/response invoke activity, as it requires the process to expose a callback interface to the partner service.