ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V. Seprak" <vladosep...@yahoo.com>
Subject Callback from async process
Date Tue, 05 Oct 2010 20:27:23 GMT

Hello,

  I'm struggling with following issue for some time: I have two async bpel
processes (MainTestProcess, ESignProcess). From MainTestProcess I am calling
ESIgnProcess which subsequently calls back main process. Everything goes
fine until ESignProcess calls back MainTestProcess where I get following
error:

2010-10-05 22:01:13,281 ERROR - INVOKE.run(208) |
org.apache.ode.bpel.common.FaultException:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}uninitializedPartnerRole
2010-10-05 22:01:13,281 DEBUG - HibernateDao.entering(54) | entering
ProcessInstanceDaoImpl.getProcess
2010-10-05 22:01:13,281 DEBUG - HibernateDao.entering(54) | entering
ProcessDaoImpl.ProcessDaoImpl
2010-10-05 22:01:13,281 DEBUG - HibernateDao.entering(54) | entering
ProcessInstanceDaoImpl.getProcess
2010-10-05 22:01:13,281 DEBUG - HibernateDao.entering(54) | entering
ProcessDaoImpl.ProcessDaoImpl
2010-10-05 22:01:13,281 DEBUG - DebugBpelEventListener.onEvent(50) | 
ActivityExecEndEvent:
	Type = activityLifecycle
	ActivityId = 18
	ActivityName = callbackClient
	ActivityType = OInvoke
	ActivityDeclarationId = 45
	ScopeId = 2213
	ScopeName = callbackClient
	ScopeDeclarationId = 44
	ParentScopeId = 2212
	ParentScopesNames = [callbackClient, __PROCESS_SCOPE:ESignProcess]
	ProcessInstanceId = 2005
	ProcessId = {http://mycomp.com/esign}ESignProcess-7
	ProcessName = {http://mycomp.com/esign}ESignProcess
	Timestamp = Tue Oct 05 22:01:13 CEST 2010
	LineNo = 112
	Class = class org.apache.ode.bpel.evt.ActivityExecEndEvent

I'm using apache ode 1.3.4, and here is my ESignProcess.bpel:

<bpel:process name="ESignProcess"
         targetNamespace="http://mycomp.com/esign"
         suppressJoinFailure="yes"
         xmlns:tns="http://mycomp.com/esign"
         xmlns:esign="http://www.mycomp.com/wsdl/process/esign"
        
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
         >
    <!-- Import the client WSDL -->
    <bpel:import namespace="http://www.mycomp.com/wsdl/process/esign"
location="../test_main/ESignProcessArtifacts.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
    <bpel:import location="ESignProcessArtifacts.wsdl"
namespace="http://www.mycomp.com/wsdl/process/esign"
	        importType="http://schemas.xmlsoap.org/wsdl/" />
	        
    <!-- =================================================================
-->         
    <!-- PARTNERLINKS                                                     
-->
    <!-- List of services participating in this BPEL process              
-->
    <!-- =================================================================
-->         
    <bpel:partnerLinks>
        <!--
        The 'client' role represents the requester of this service. It is 
        used for callback. The location and correlation information
associated
        with the client role are automatically set using WS-Addressing.
        -->
        <bpel:partnerLink name="client"
                     partnerLinkType="esign:ESignProcess"
                     myRole="ESignProcessProvider"
                     partnerRole="ESignProcessRequester"
                     />
    </bpel:partnerLinks>
  
    <!-- =================================================================
-->         
    <!-- VARIABLES                                                        
-->
    <!-- List of messages and XML documents used within this BPEL process 
-->
    <!-- =================================================================
-->
    <bpel:variables>
        <!-- Reference to the message passed as input during initiation -->
        <bpel:variable name="input"
                  messageType="esign:ESignProcessRequestMessage"/>
                  
        <!-- Reference to the message that will be sent back to the 
             requester during callback
             -->
        <bpel:variable name="output"
                  messageType="esign:ESignProcessResponseMessage"/>
    </bpel:variables>

    <!-- =================================================================
-->         
    <!-- ORCHESTRATION LOGIC                                              
-->
    <!-- Set of activities coordinating the flow of messages across the   
-->
    <!-- services integrated within this business process                 
-->
    <!-- =================================================================
-->         
    <bpel:correlationSets>
        <bpel:correlationSet name="CorrelationSet"
properties="esign:corr"></bpel:correlationSet>
    </bpel:correlationSets>
    <bpel:sequence name="main">
        
        <!-- Receive input from requestor. 
             Note: This maps to operation defined in ESignProcess.wsdl
             -->
        <bpel:receive name="receiveInput" partnerLink="client"
                 createInstance="yes" operation="initiate"
portType="esign:ESignProcess" variable="input">
            <bpel:correlations>
                <bpel:correlation set="CorrelationSet"
initiate="yes"></bpel:correlation>
            </bpel:correlations>
        </bpel:receive>
        
        <!-- Asynchronous callback to the requester.
             Note: the callback location and correlation id is transparently
handled 
             using WS-addressing.
             -->
        <bpel:assign validate="no" name="AssignInput">
            <bpel:copy>
                <bpel:from>
                    <bpel:literal
xml:space="preserve"><tns:ESignProcessResponse
xmlns:tns="http://www.mycomp.com/wsdl/process/esign"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <tns:result></tns:result>
</tns:ESignProcessResponse>
</bpel:literal>
                </bpel:from>
                <bpel:to variable="output" part="payload"></bpel:to>
            </bpel:copy>
            <bpel:copy>
                <bpel:from part="payload" variable="input">
                    <bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
                </bpel:from>
                <bpel:to part="payload" variable="output">
                    <bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[esign:result]]></bpel:query>
                </bpel:to>
            </bpel:copy>
        </bpel:assign>
        <bpel:receive name="ReceiveData1" partnerLink="client"
operation="receive" portType="esign:ESignProcess" variable="input">
            <bpel:correlations>
                <bpel:correlation set="CorrelationSet"
initiate="no"></bpel:correlation>
            </bpel:correlations>
        </bpel:receive>
        
        <bpel:assign validate="no" name="AssignReceived">
            <bpel:copy>
                <bpel:from>
                    <![CDATA[concat($input.payload/tns:input,
$output.payload/tns:result)]]>
                </bpel:from>
                <bpel:to part="payload" variable="output">
                    <bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
                        <![CDATA[esign:result]]>
                    </bpel:query>
                </bpel:to>
            </bpel:copy>
        </bpel:assign>
        <bpel:invoke name="callbackClient" 
                partnerLink="client" operation="onResult"
portType="esign:ESignProcessCallback" inputVariable="output"/>
    </bpel:sequence>
</bpel:process>

I have also tried to add initializePartnerRole="yes" to partner link
declaration, but this didn't help. InitializePartnerRole="yes" means that
partner role will be automat. initialized from service-ref element in SOAP
message? What am i missing?

Thanks.
Vlado

-- 
View this message in context: http://old.nabble.com/Callback-from-async-process-tp29890946p29890946.html
Sent from the Apache Ode User mailing list archive at Nabble.com.


Mime
View raw message