Hi,

I assume I can post queries regarding JBPM-BPEL here.

I am using jBPM-BPEL 1.1.GA with JBOSS 4.2.0.GA. I am having correlation sets 
in my process. But I am not able to deploy the process. Deployment throws a 
hibernate exception

org.jbpm.JbpmException: problem closing services 
{persistence=org.hibernate.TransientObjectException: object references an 
unsaved transient instance - save the transient instance before flushing: 
com.ibm.wsdl.MessageImpl}
  |     org.jbpm.svc.Services.close(Services.java:245)
  |     org.jbpm.JbpmContext.close(JbpmContext.java:139)
  |     
org.jbpm.bpel.web.DeploymentServlet.deployProcessDefinition(DeploymentServlet.java:195)
  | 
  | 
  | root cause
  | 
  | org.hibernate.TransientObjectException: object references an unsaved 
transient instance - save the transient instance before flushing: 
com.ibm.wsdl.MessageImpl
  |     
org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219)
  | 
  | 

This happens only when I use correlation sets. If I remove the reference to the 
correlation sets, it works fine and gets deployed. Any idea how to solve this? 
has anyone come across such an error? I googled and didn't find many answers

I am attaching the bpel and wsdl files here

process file:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <bpel:process 
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"; 
xmlns:corr="http://www.example.org/HTCorrelations/"; 
xmlns:data="http://www.example.org/HTDataSchema/"; 
xmlns:ns1="http://www.example.org/HTCreateAssembly/"; 
xmlns:ns2="http://www.example.org/HTAssignUsersPT/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
  | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  | name="HTCreateAssembly" suppressJoinFailure="yes" 
targetNamespace="http://HTCreateAssembly";>
  |    <bpel:import importType="http://schemas.xmlsoap.org/wsdl/"; 
location="HTCreateAssembly.wsdl" 
namespace="http://www.example.org/HTCreateAssembly/"/>
  |    <bpel:import importType="http://schemas.xmlsoap.org/wsdl/"; 
location="HTAssignUsersPT.wsdl" 
namespace="http://www.example.org/HTAssignUsersPT/"/>
  |    <bpel:import importType="http://schemas.xmlsoap.org/wsdl/"; 
location="HTCorrelations.wsdl" 
namespace="http://www.example.org/HTCorrelations/"/>
  |    <bpel:partnerLinks>
  |       <bpel:partnerLink myRole="StartAssemblyServiceODE" 
name="StartAssemblyPL" partnerLinkType="ns1:StartAssemblyLT"/>
  |       <bpel:partnerLink myRole="AssignUserServiceResponseODE" 
name="AssignUserServicePL" partnerLinkType="ns2:AssignUserServiceLT" 
partnerRole="AssignUserServiceODE"/>
  |    </bpel:partnerLinks>
  |    <bpel:variables>
  |       <bpel:variable  name="inputUser" 
messageType="ns1:StartAssemblyRequest"/>                   
  |       <bpel:variable  name="assignUserResponse" 
messageType="ns2:AssignUsersResponse"/>
  |       <bpel:variable  name="assignedUser" 
messageType="ns2:AssignUsersRequest"/>
  |    </bpel:variables>
  |    <bpel:correlationSets>
  |       <bpel:correlationSet name="CS1" properties="corr:UserID"/>
  |    </bpel:correlationSets>
  |    <bpel:sequence>
  |       <bpel:receive createInstance="yes" name="Start" 
operation="StartAssembly" partnerLink="StartAssemblyPL" variable="inputUser">
  | 
  |       </bpel:receive>
  |       <bpel:invoke inputVariable="assignedUser" name="InvokeAssignUsers" 
operation="AssignUsers" partnerLink="AssignUserServicePL">
  |          <bpel:correlations>
  |             <bpel:correlation initiate="yes" pattern="request" set="CS1"/>
  |          </bpel:correlations>
  |       </bpel:invoke>
  |       <bpel:receive name="ReceiveResponse" 
operation="GetAssignUsersResponse" partnerLink="AssignUserServicePL" 
variable="assignUserResponse">
  |          <bpel:correlations>
  |             <bpel:correlation initiate="no" set="CS1"/>
  |          </bpel:correlations>
  |       </bpel:receive>
  |        
  |        <bpel:assign>
  |            <bpel:copy>
  |          <bpel:from>
  |            <bpel:literal>
  |                    <sref:service-ref 
xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref";>
  |                              <soap:address 
location="http://localhost:8090/AssignUsersWSODE2/AssignUserServiceODE"/>
  |                     </sref:service-ref>
  |            </bpel:literal>
  |          </bpel:from>
  |          <bpel:to partnerLink="AssignUserServicePL"/>
  |      </bpel:copy> 
  |       </bpel:assign>
  |       
  |       <bpel:assign>
  |          <bpel:copy> 
  |        <bpel:from>
  |             <bpel:literal>
  |                        <data:AssignUsers>
  |                              <data:userid>A3</data:userid>
  |                     </data:AssignUsers>
  |             </bpel:literal>
  |         </bpel:from>
  |             <bpel:to>$assignedUser.assinguserIP</bpel:to>            
  |          </bpel:copy>        
  |       </bpel:assign>
  |       <bpel:assign>
  |          <bpel:copy>
  |      <bpel:from>$assignedUser.assinguserIP</bpel:from>
  |             <bpel:to>$assignUserResponse.assinguserRespIP</bpel:to>         
  |          </bpel:copy>
  |       </bpel:assign>
  |    </bpel:sequence>
  | </bpel:process>
  | 

wsdl files:

  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | <wsdl:definitions xmlns:tns="http://www.example.org/HTCreateAssembly/";
  |     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="HTCreateAssembly"
  |     xmlns:data="http://www.example.org/HTDataSchema/";
  |             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  |     targetNamespace="http://www.example.org/HTCreateAssembly/";>
  | 
  |     <plnk:partnerLinkType name="StartAssemblyLT"
  |             xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";>
  |             <plnk:role name="StartAssemblyServiceODE"
  |                     portType="tns:StartAssemblyPT" />
  |     </plnk:partnerLinkType>
  | 
  |     <wsdl:types>
  |             <xsd:schema>
  |                     <xsd:import 
namespace="http://www.example.org/HTDataSchema/";
  |                             schemaLocation="HTDataSchema.xsd">
  |                     </xsd:import>
  |             </xsd:schema>
  |     </wsdl:types>
  |     <wsdl:message name="StartAssemblyRequest">
  |             <wsdl:part element="data:AssignUsersReq" name="startAssemblyIP" 
/>
  |     </wsdl:message>
  |     <wsdl:portType name="StartAssemblyPT">
  |             <wsdl:operation name="StartAssembly">
  |                     <wsdl:input message="tns:StartAssemblyRequest" />
  |             </wsdl:operation>
  |     </wsdl:portType>
  | 
  |     <wsdl:binding name="StartAssemblyBinding" type="tns:StartAssemblyPT">
  |             <soap:binding style="document"
  |                     transport="http://schemas.xmlsoap.org/soap/http"; />
  |             <wsdl:operation name="StartAssembly">
  |                     <soap:operation
  |                             
soapAction="http://www.example.org/HTCreateAssembly/StartAssembly"; />
  |                     <wsdl:input>
  |                             <soap:body use="literal" />
  |                     </wsdl:input>
  |             </wsdl:operation>
  |     </wsdl:binding>
  | 
  |     <wsdl:service name="StartAssemblyServiceODE">
  |             <wsdl:port name="StartAssemblyPort" 
binding="tns:StartAssemblyBinding">
  |                     <soap:address 
location="http://localhost:8080/ode/processes/StartAssembly"/>
  |             </wsdl:port>
  |     </wsdl:service>
  | 
  | </wsdl:definitions>
  | 
  | ______________________________________
  | 
  | <?xml version="1.0" encoding="UTF-8"?>
  | <wsdl:definitions xmlns:tns="http://www.example.org/HTAssignUsersPT/";
  |     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="HTAssignUsersPT"
  |     xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";
  |     targetNamespace="http://www.example.org/HTAssignUsersPT/";
  |     xmlns:data="http://www.example.org/HTDataSchema/";
  |     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
  | 
  | 
  |     <plnk:partnerLinkType name="AssignUserServiceLT"
  |             xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype";>
  |             <plnk:role name="AssignUserServiceODE" 
portType="tns:AssignUserPT" />
  |             <plnk:role name="AssignUserServiceResponseODE"
  |                     portType="tns:AssignUserResponsePT" />
  |     </plnk:partnerLinkType>
  | 
  |     <wsdl:types>
  |             <xsd:schema>
  |                     <xsd:import 
namespace="http://www.example.org/HTDataSchema/";
  |                             schemaLocation="HTDataSchema.xsd">
  |                     </xsd:import>
  |             </xsd:schema>
  |     </wsdl:types>
  | 
  |     <wsdl:message name="AssignUsersRequest">
  |             <wsdl:part element="data:AssignUsersReq" name="assinguserIP" />
  |     </wsdl:message>
  |     <wsdl:message name="AssignUsersResponse">
  |             <wsdl:part element="data:AssignUsersReply"
  |                     name="assinguserRespIP" />
  |     </wsdl:message>
  | 
  |     <wsdl:portType name="AssignUserPT">
  |             <wsdl:operation name="AssignUsers">
  |                     <wsdl:input message="tns:AssignUsersRequest" />
  |             </wsdl:operation>
  |     </wsdl:portType>
  |     <wsdl:portType name="AssignUserResponsePT">
  |             <wsdl:operation name="GetAssignUsersResponse">
  |                     <wsdl:input message="tns:AssignUsersResponse" />
  |             </wsdl:operation>
  |     </wsdl:portType>
  | 
  |     <wsdl:binding name="AssignUserBinding" type="tns:AssignUserPT">
  |             <soap:binding style="document"
  |                     transport="http://schemas.xmlsoap.org/soap/http"; />
  |             <wsdl:operation name="AssignUsers">
  |                     <soap:operation
  |                             
soapAction="http://www.example.org/HTAssignUsersPT/AssignUsers"; />
  |                     <wsdl:input>
  |                             <soap:body use="literal" />
  |                     </wsdl:input>
  |             </wsdl:operation>
  |     </wsdl:binding>
  | 
  |     <wsdl:binding name="AssignUserResponseBinding" 
type="tns:AssignUserResponsePT">
  |             <soap:binding style="document"
  |                     transport="http://schemas.xmlsoap.org/soap/http"; />
  |             <wsdl:operation name="GetAssignUsersResponse">
  |                     <soap:operation
  |                             
soapAction="http://www.example.org/HTAssignUsersPT/GetAssignUsersResponse"; />
  |                     <wsdl:input>
  |                             <soap:body use="literal" />
  |                     </wsdl:input>
  |             </wsdl:operation>
  |     </wsdl:binding>
  |     
  |     <wsdl:service name="AssignUserServiceODE">
  |             <wsdl:port name="AssignUserServicePort"
  |                     binding="tns:AssignUserBinding">
  |                     <soap:address
  |                             
location="http://localhost:8090/AssignUserWsODE/AssignUserServiceODE";></soap:address>
  |             </wsdl:port>
  |             <wsdl:port name="AssignUserResponseServicePort"
  |                     binding="tns:AssignUserResponseBinding">
  |                     <soap:address 
location="http://localhost:8080/ode/processes/AssignUserResponse";></soap:address>
 
  |             </wsdl:port>
  |     </wsdl:service>
  | </wsdl:definitions>
  | 
  | 

Correlation WSDL:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <wsdl:definitions xmlns:tns="http://www.example.org/HTCorrelations/";
  |     xmlns:usrmsg="http://www.example.org/HTAssignUsersPT/";
  |     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
  |     xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="HTCorrelations"
  |     xmlns:data="http://www.example.org/HTDataSchema/";
  |         xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop";
  |     targetNamespace="http://www.example.org/HTCorrelations/";>
  |     
  |     <wsdl:import location="HTAssignUsersPT.wsdl" 
namespace="http://www.example.org/HTAssignUsersPT/"/>
  |         <wsdl:types>
  |             <xsd:schema>
  |                     <xsd:import 
namespace="http://www.example.org/HTDataSchema/";
  |                             schemaLocation="HTDataSchema.xsd">
  |                     </xsd:import>
  |             </xsd:schema>
  |     </wsdl:types>
  |     
  |     <vprop:property name="UserID" type="xsd:string"/>
  |             
  |     <vprop:propertyAlias messageType="usrmsg:AssignUsersRequest"
  |             part="assinguserIP" propertyName="tns:UserID">
  |             <vprop:query>/data:AssignUsersReq/data:userid</vprop:query>
  |     </vprop:propertyAlias>  
  |     
  |     <vprop:propertyAlias messageType="usrmsg:AssignUsersResponse"
  |                     part="assinguserRespIP" propertyName="tns:UserID">
  |                     
<vprop:query>/data:AssignUsersReply/data:userid</vprop:query>
  |     </vprop:propertyAlias>
  |     
  | </wsdl:definitions>
  | 

Is there any document explaining the usage of correlation sets in Jboss jbpm 
bpel?


Thanks
Dhanush Gopinath

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4155249#4155249

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4155249
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to