JBoss Community

Jboss ESB JBPM - No EPR present in process instance

created by keljboss in JBoss ESB Development - View the full discussion

Hi,

 

I am a new in jboss ESB, I am triyng to make JBPM and JBOSS ESB exchange().

 

my example is that jbpm calls ESB and get the response, when i test the esb using soapUI the process work fine, but using JBPM i have the exception below

 

org.jboss.soa.esb.ConfigurationException: No EPR present in process instance

          at org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler.execute(EsbActionHandler.java:137)

 

my jboss-esb.xml

 

<?xml version="1.0"?><jbossesb parameterReloadSecs="5"xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.0.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.0.xsdhttp://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.0.xsd"><providers>  <jbr-provider name="ibaSommeHttpGateway" protocol="http">   <jbr-bus busid="ibaSommeHttpGateway" port="9999"/>  </jbr-provider>  <jbr-provider name="ibaMultiplicationHttpGateway" protocol="http">   <jbr-bus busid="ibaMultiplicationHttpGateway" port="7777"/>  </jbr-provider></providers><services><service category="Calcule"   description="calcule la somme de deux valeurs" invmScope="GLOBAL" name="somme">   <listeners>    <jbr-listener busidref="ibaSommeHttpGateway" is-gateway="true" name="ibaHttpSommeGatewayListener"/>   </listeners>   <actions mep="RequestResponse">    <action class="org.jboss.soa.esb.actions.routing.http.HttpRouter" name="ibaSommeHttpRouter">     <property name="method" value="POST"/>     <property name="endpointUrl" value="http://localhost:8080/somme/SommeService?wsdl"/>     <property name="endpointAdresse" value="http://localhost:8080/somme/SommeService?wsdl"/>     <property name="reply-to-originator" value="true"/>    </action>    <action class="org.jboss.soa.esb.actions.SystemPrintln" name="message">     <property name="message" value="in the somme yoooou pi ESB"/>    </action>   </actions>  </service>  <service category="Calcule"   description="calcule la multiplication de deux valeurs"   invmScope="GLOBAL" name="multiplication">   <listeners>    <jbr-listener busidref="ibaMultiplicationHttpGateway"     is-gateway="true" name="ibaHttpMultiGatewayListener"/>   </listeners>   <actions mep="RequestResponse">    <action class="org.jboss.soa.esb.actions.routing.http.HttpRouter" name="ibaMultiplicationHttpRouter">     <property name="method" value="POST"/>     <property name="endpointUrl" value="http://localhost:8080/multiplication/MultiplicationService?wsdl"/>      <property name="reply-to-originator" value="true"/>    </action>    <action class="org.jboss.soa.esb.actions.SystemPrintln" name="message">     <property name="message" value="in the multiplication ESB"/>    </action>   </actions>  </service></services></jbossesb>

 

 

 

 

and the precessdefinition.xml

 

 

<?xml version="1.0" encoding="utf-8"?><process-definition xmlns="urn:jbpm.org:jpdl-3.2"          name="calcule"> 
         <start-state name="start">  
                  <transition to="somme" name="callSomme">          
                    <action name="action">    
                                    <message>Going to the SOe</message> 
                             </action>   
                 </transition>    
      </start-state>        
  <node name="somme">             
       <action    class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">  
        <replyToOriginator>true</replyToOriginator>
                               <esbServiceName>somme</esbServiceName>
                               <esbCategoryName>Calcule</esbCategoryName>
                               <replyToOriginator>reply</replyToOriginator>
                               <bpmToEsbVars>                                        <mapping bpm="a" esb="a"></mapping>                                        <mapping bpm="b" esb="b"></mapping>                              </bpmToEsbVars>                              <esbToBpmVars>                                        <mapping bpm="somme" esb="somme"></mapping>                              </esbToBpmVars>                    </action>                    <transition to="fin" name="tofin">                    </transition>          </node>          <end-state name="fin"></end-state></process-definition>

 

the java code :

 

 

     JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();    
  JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();    
  GraphSession graphSession = jbpmContext.getGraphSession();   
  ProcessDefinition processDefinition =           
         graphSession.findLatestProcessDefinition("calcule");  
    String a = request.getParameter("a");    
 String b = request.getParameter("b");   
 ProcessInstance processInstance = new ProcessInstance(processDefinition);  
 Token token = processInstance.getRootToken(); 
 System.out.println(token.getNode().getName());   
 ContextInstance contextInstance = processInstance.getContextInstance(); 
 contextInstance.setVariable("a", new Float(500));    
 contextInstance.setVariable("b", new Float(500));     
 processInstance.getRootToken().signal(); 

 

 

 

is there anything that i messed ?

 

 

for information i am using jboss-esb4.9,  jbpm 3.2  and jbossAS 5.1.0GA

 

thank you for your help

 

Cheers

Reply to this message by going to Community

Start a new discussion in JBoss ESB Development at Community