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/GetAssignUsersRes...
/>
| <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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...