Discussions
Categories
- 17.9K All Categories
- 3.4K Industry Applications
- 3.4K Intelligent Advisor
- 75 Insurance
- 537.7K On-Premises Infrastructure
- 138.7K Analytics Software
- 38.6K Application Development Software
- 6.1K Cloud Platform
- 109.6K Database Software
- 17.6K Enterprise Manager
- 8.8K Hardware
- 71.3K Infrastructure Software
- 105.4K Integration
- 41.6K Security Software
How to use <link> in <flow>
I started to learn BPEL a month ago. When I learn about <flow>, I met some problems.
When I input a int number, the flow can identify the number. If it less than 100, the <assign name="assign_small"> activity will be executed,
otherwise <assign name="assign_big"> will be executed. then the <reply> activity will be executed.
the fellowing is my BPEL detail.
When I deploy it to the soa suite, timeout error will appear. please help me! if it is possible, please give me the details.
==================================================================================================
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Oracle JDeveloper BPEL Designer
Created: Thu Dec 04 10:31:21 CST 2008
Purpose: Synchronous BPEL Process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<process name="BPELProcess5" suppressJoinFailure="yes"
targetNamespace="http://xmlns.oracle.com/BPELProcess5"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:client="http://xmlns.oracle.com/BPELProcess5"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PARTNERLINKS
List of services participating in this BPEL process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<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.
-->
<partnerLink name="client" partnerLinkType="client:BPELProcess5"
myRole="BPELProcess5Provider"/>
</partnerLinks>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
VARIABLES
List of messages and XML documents used within this BPEL process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="inputVariable"
messageType="client:BPELProcess5RequestMessage"/>
<!-- Reference to the message that will be returned to the requester-->
<variable name="outputVariable"
messageType="client:BPELProcess5ResponseMessage"/>
</variables>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess5.wsdl) -->
<!-- Generate reply to synchronous request -->
<faultHandlers>
<catchAll>
</catchAll>
</faultHandlers>
<flow name="Flow_1">
<links>
<link name="link_1"/>
<link name="link_2"/>
<link name="link_3"/>
<link name="link_4"/>
</links>
<receive name="receiveInput" partnerLink="client"
portType="client:BPELProcess5" operation="process"
variable="inputVariable" createInstance="yes">
<source linkName="link_1"
transitionCondition="bpws:getVariableData('inputVariable','payload','/client:BPELProcess5ProcessRequest/client:input') < 100"/>
<source linkName="link_2"
transitionCondition="bpws:getVariableData('inputVariable','payload','/client:BPELProcess5ProcessRequest/client:input') >= 100"/>
</receive>
<assign name="assign_small">
<target linkName="link_1"/>
<source linkName="link_3"/>
<copy>
<from expression="'small'"/>
<to variable="outputVariable" part="payload"
query="/client:BPELProcess5ProcessResponse/client:result"/>
</copy>
</assign>
<assign name="assign_big">
<target linkName="link_2"/>
<source linkName="link_4"/>
<copy>
<from expression="'big'"/>
<to variable="outputVariable" part="payload"
query="/client:BPELProcess5ProcessResponse/client:result"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client"
portType="client:BPELProcess5" operation="process"
variable="outputVariable">
<target linkName="link_3"/>
<target linkName="link_4"/>
</reply>
</flow>
</process>
Edited by: user10485730 on 2008-12-6 下午8:12
When I input a int number, the flow can identify the number. If it less than 100, the <assign name="assign_small"> activity will be executed,
otherwise <assign name="assign_big"> will be executed. then the <reply> activity will be executed.
the fellowing is my BPEL detail.
When I deploy it to the soa suite, timeout error will appear. please help me! if it is possible, please give me the details.
==================================================================================================
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Oracle JDeveloper BPEL Designer
Created: Thu Dec 04 10:31:21 CST 2008
Purpose: Synchronous BPEL Process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<process name="BPELProcess5" suppressJoinFailure="yes"
targetNamespace="http://xmlns.oracle.com/BPELProcess5"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:client="http://xmlns.oracle.com/BPELProcess5"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PARTNERLINKS
List of services participating in this BPEL process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<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.
-->
<partnerLink name="client" partnerLinkType="client:BPELProcess5"
myRole="BPELProcess5Provider"/>
</partnerLinks>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
VARIABLES
List of messages and XML documents used within this BPEL process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="inputVariable"
messageType="client:BPELProcess5RequestMessage"/>
<!-- Reference to the message that will be returned to the requester-->
<variable name="outputVariable"
messageType="client:BPELProcess5ResponseMessage"/>
</variables>
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess5.wsdl) -->
<!-- Generate reply to synchronous request -->
<faultHandlers>
<catchAll>
</catchAll>
</faultHandlers>
<flow name="Flow_1">
<links>
<link name="link_1"/>
<link name="link_2"/>
<link name="link_3"/>
<link name="link_4"/>
</links>
<receive name="receiveInput" partnerLink="client"
portType="client:BPELProcess5" operation="process"
variable="inputVariable" createInstance="yes">
<source linkName="link_1"
transitionCondition="bpws:getVariableData('inputVariable','payload','/client:BPELProcess5ProcessRequest/client:input') < 100"/>
<source linkName="link_2"
transitionCondition="bpws:getVariableData('inputVariable','payload','/client:BPELProcess5ProcessRequest/client:input') >= 100"/>
</receive>
<assign name="assign_small">
<target linkName="link_1"/>
<source linkName="link_3"/>
<copy>
<from expression="'small'"/>
<to variable="outputVariable" part="payload"
query="/client:BPELProcess5ProcessResponse/client:result"/>
</copy>
</assign>
<assign name="assign_big">
<target linkName="link_2"/>
<source linkName="link_4"/>
<copy>
<from expression="'big'"/>
<to variable="outputVariable" part="payload"
query="/client:BPELProcess5ProcessResponse/client:result"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client"
portType="client:BPELProcess5" operation="process"
variable="outputVariable">
<target linkName="link_3"/>
<target linkName="link_4"/>
</reply>
</flow>
</process>
Edited by: user10485730 on 2008-12-6 下午8:12
Tagged:
Answers
-
Hi,
can you please provide the error message?
Are you sure that links are supported in Oracle BPEL? -
Take a look here
http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/appx_ref.htm#sthref3994
no links... -
thank you
-
thank you. the problem is that maybe oracle soa suite can not support the deal line in the <flow>
-
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 2f643de88442ba0f:-73c99b47:11e145a9f21:-7fd9. Please check the process instance for detail.
it is the error message -
in the document, it says that "Completion of a flow activity includes the possibility that it can be skipped if its enabling condition is false."
in the flow activity. so the <source>/<target> maybe can be used
This discussion has been closed.