For my bachelor thesis I am working on the implementation of a specific BPEL Process and I
am stuck since days with an CorrelationViolation.
I optain an CorrelationViolation when I invoke the openServiceCall operation. If I delete
the whole Eventhandler part, the invoking of the openServiceCall isn't a problem at
all, and the correlation worked with before with several recieve/return paires instead of
event handler, but this won't serve the purpose.
Any kind of help would highly be appreciated.
Thanks
Environment:
AS: jboss-4.2.2.GA
BPEL Engine: jbpm-bpel-1.1.GA
OS: Windows XP Pro SP2
optained error
15:00:39,640 ERROR [StartListener] request delivery failed due to non-recoverable
exception, giving up
| org.jbpm.bpel.graph.exe.BpelFaultException:
org.jbpm.bpel.graph.exe.FaultInstance@1be6f3c[name={http://docs.oasis-open.org/wsbpel/2.0/process/executable}correlationViolation]
| at
org.jbpm.bpel.integration.exe.CorrelationSetInstance.checkInitialized(CorrelationSetInstance.java:117)
| at
org.jbpm.bpel.integration.exe.CorrelationSetInstance.getProperties(CorrelationSetInstance.java:92)
| at
org.jbpm.bpel.integration.def.Correlations.getReceptionProperties(Correlations.java:72)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at
org.jbpm.bpel.integration.def.Correlations_$$_javassist_43.getReceptionProperties(Correlations_$$_javassist_43.java)
| at
org.jbpm.bpel.integration.jms.RequestListener.formatSelector(RequestListener.java:106)
| at
org.jbpm.bpel.integration.jms.RequestListener.<init>(RequestListener.java:80)
| at
org.jbpm.bpel.integration.jms.JmsIntegrationService.jmsReceive(JmsIntegrationService.java:80)
| at
org.jbpm.bpel.integration.jms.JmsIntegrationService.receive(JmsIntegrationService.java:70)
| at org.jbpm.bpel.graph.exe.ScopeInstance.enableEvents(ScopeInstance.java:221)
| at
org.jbpm.bpel.integration.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:144)
| at
org.jbpm.bpel.integration.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:61)
| at
org.jbpm.bpel.integration.def.ReceiveAction.initializeProcessInstance(ReceiveAction.java:87)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at
org.jbpm.bpel.integration.def.ReceiveAction_$$_javassist_93.initializeProcessInstance(ReceiveAction_$$_javassist_93.java)
| at
org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListener.java:210)
| at
org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:168)
| at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:682)
| at java.lang.Thread.run(Thread.java:595)
|
createServiceCall.bpel
<process
| name="createServiceCall"
| targetNamespace="http://coresystems.ch/bt/bpel/createServiceCall"
|
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
| xmlns:tns="http://coresystems.ch/bt/bpel/createServiceCall"
| xmlns:nswsdl="http://coresystems.ch/bt/wsdl/createServiceCall"
xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExten...
xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExte...
xmlns:ns0="http://www.coresystems.ch/webservices"
xmlns:ns1="http://coresystems.ch/bt/xsd/createServiceCall">
|
| <!-- IMPORTS OF WSDL FILES -->
| <import namespace="http://coresystems.ch/bt/wsdl/createServiceCall"
location="createServiceCall.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"/>
|
| <!-- PARTNER LINK DECLARATION -->
| <partnerLinks>
| <partnerLink name="ClientPartnerLink"
partnerLinkType="nswsdl:ClientPartnerLink" myRole="customer"/>
| </partnerLinks>
|
| <!-- VARIABLE DECLARATIONS -->
| <variables>
| <variable name="businessPartnerID"
type="xsd:string"/>
| <variable name="serviceCallID" type="xsd:string"/>
| <variable name="systemOrEquipIsChosen"
type="xsd:boolean"/>
| <variable name="openServiceCallInput"
messageType="nswsdl:openServiceRequestInMessage"/>
| <variable name="openServiceCallOutput"
messageType="nswsdl:openServiceRequestOutMessage"/>
| </variables>
|
| <!-- PROCESS ITSELF -->
| <correlationSets>
| <correlationSet name="serviceCallCreation"
properties="nswsdl:requestID"/>
| </correlationSets>
| <eventHandlers>
| <onEvent partnerLink="ClientPartnerLink"
operation="getSystems" portType="nswsdl:openServiceRequest"
variable="getSystemsIn"
messageType="nswsdl:getSystemsOperationRequest">
| <correlations>
| <correlation set="serviceCallCreation"
initiate="no"/>
| </correlations>
| <scope name="Scope1">
| <variables>
| <variable name="getSystemsOut"
messageType="nswsdl:getSystemsOperationResponse"/>
| <variable name="getSystemsIn"
messageType="nswsdl:getSystemsOperationRequest"/>
| </variables>
| <sequence name="Sequence1">
| <assign name="Assign1">
| <copy>
| <from variable="serviceCallID"/>
|
<to>$getSystemsOut.getSystemsObject/serviceCallID</to>
| </copy>
| </assign>
| <reply name="replyGetSystems"
partnerLink="ClientPartnerLink" operation="getSystems"
portType="nswsdl:openServiceRequest" variable="getSystemsOut">
| <correlations>
| <correlation set="serviceCallCreation"
initiate="no"/>
| </correlations>
| </reply>
| </sequence>
| </scope>
| </onEvent>
| </eventHandlers>
| <sequence name="mainSequence">
| <receive name="openServiceCall"
createInstance="yes" partnerLink="ClientPartnerLink"
operation="openServiceRequest" portType="nswsdl:openServiceRequest"
variable="openServiceCallInput">
| <correlations>
| <correlation set="serviceCallCreation"
initiate="yes"/>
| </correlations>
| </receive>
| <assign name="assignIDs">
| <copy>
|
<from>$openServiceCallInput.openServiceObject/businessPartnerID</from>
| <to variable="businessPartnerID"/>
| </copy>
| <copy>
|
<from>$openServiceCallInput.openServiceObject/serviceCallID</from>
| <to variable="serviceCallID"/>
| </copy>
| <copy>
|
<from>$openServiceCallInput.openServiceObject/serviceCallID</from>
|
<to>$openServiceCallOutput.openServiceObject/serviceCallID</to>
| </copy>
| <copy>
| <from>true()</from>
|
<to>$openServiceCallOutput.openServiceObject/serviceCreationSuccessfull</to>
| </copy>
| </assign>
| <reply name="openServiceCallReturn"
partnerLink="ClientPartnerLink" operation="openServiceRequest"
portType="nswsdl:openServiceRequest"
variable="openServiceCallOutput">
| <correlations>
| <correlation set="serviceCallCreation"
initiate="no"/>
| </correlations>
| </reply>
| </sequence>
| </process>
|
createServiceCall.wsdl
<?xml version="1.0" encoding="UTF-8"?>
| <definitions name="createServiceCall"
targetNamespace="http://coresystems.ch/bt/wsdl/createServiceCall"
|
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
| xmlns:tns="http://coresystems.ch/bt/wsdl/createServiceCall"
|
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
|
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:ns0="http://coresystems.ch/bt/xsd/createServiceCall"
xmlns:ns1="http://coresystems.ch/bt/xsd/createServiceCall">
|
|
| <!-- MESSAGES -->
| <types>
| <xsd:schema
targetNamespace="http://coresystems.ch/bt/wsdl/createServiceCall"
xmlns:tns="http://coresystems.ch/bt/wsdl/createServiceCall"
xmlns:ns2="http://www.coresystems.ch/webservices">
| <xsd:import schemaLocation="createServiceCallSchema.xsd"
namespace="http://www.coresystems.ch/webservices"/>
| <xsd:element name="openServiceRequestInType">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="businessPartnerID"
type="xsd:string"></xsd:element>
| <xsd:element name="serviceCallID"
type="xsd:string"></xsd:element>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:element name="openServiceRequestOutType">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="serviceCreationSuccessfull"
type="xsd:boolean"></xsd:element>
| <xsd:element name="serviceCallID"
type="xsd:string"></xsd:element>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:element name="getSystemsInType">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="serviceCallID"
type="xsd:string"></xsd:element>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:element name="getSystemsOutType">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="serviceCallID"
type="xsd:string"></xsd:element>
| <xsd:element name="systemArray"
type="ns2:ArrayOfBPSystemInfo"></xsd:element>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| </xsd:schema>
| </types>
| <message name="openServiceRequestInMessage">
| <part name="openServiceObject"
element="tns:openServiceRequestInType"/>
| </message>
| <message name="openServiceRequestOutMessage">
| <part name="openServiceObject"
element="tns:openServiceRequestOutType"/>
| </message>
|
| <message name="getSystemsOperationRequest">
| <part name="getSystemsObject"
element="tns:getSystemsInType"/>
| </message>
| <message name="getSystemsOperationResponse">
| <part name="getSystemsObject"
element="tns:getSystemsOutType"/>
| </message>
| <portType name="openServiceRequest">
| <operation name="openServiceRequest">
| <input name="input"
message="tns:openServiceRequestInMessage"/>
| <output name="output"
message="tns:openServiceRequestOutMessage"/>
| </operation>
| <operation name="getSystems">
| <input name="input1"
message="tns:getSystemsOperationRequest"/>
| <output name="output1"
message="tns:getSystemsOperationResponse"/>
| </operation>
| </portType>
|
| <!-- PARTNERLINKS -->
| <plnk:partnerLinkType name="ClientPartnerLink">
| <plnk:role name="customer"
portType="tns:openServiceRequest"/>
| </plnk:partnerLinkType>
|
| <vprop:property name="requestID" type="xsd:string"/>
| <vprop:propertyAlias propertyName="tns:requestID"
messageType="tns:openServiceRequestOutMessage"
part="openServiceObject">
|
<vprop:query>/tns:openServiceRequestOutType/serviceCallID</vprop:query>
| </vprop:propertyAlias>
| <vprop:propertyAlias propertyName="tns:requestID"
messageType="tns:getSystemsOperationRequest"
part="getSystemsObject">
| <vprop:query>/tns:getSystemsInType/serviceCallID</vprop:query>
| </vprop:propertyAlias>
| <vprop:propertyAlias propertyName="tns:requestID"
messageType="tns:getSystemsOperationResponse"
part="getSystemsObject">
| <vprop:query>/tns:getSystemsOutType/serviceCallID</vprop:query>
| </vprop:propertyAlias>
| <vprop:propertyAlias propertyName="tns:requestID"
messageType="tns:openServiceRequestInMessage"
part="openServiceObject">
|
<vprop:query>/tns:openServiceRequestInType/serviceCallID</vprop:query>
| </vprop:propertyAlias>
| </definitions>
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4165321#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...