ProC dequeue process waits forever after network was brought down.

Hi all,
I want you to help me on the following issue.
Unfortunately I can not post the code right now, but I will try to explain, it is simple.
The DB and the process (ProC) which dequeues the message are on different machines.
The dequeue wait time is set to 10 sec. And of course there is a loop and an exception handling after the dequeue.
Now, if I drop the network connection between DB and ProC program while the process tries to dequeue,
the process will stuck on dequeue forever.
It does not throw any errors or something else, just waits there at DBMS_AQ.dequeue call.
Do you have any ideas what it is happening?

Hi,
I am experiencing the same problem,
Are there any important settings for time out or
other things that may prevent going through a hang problem!?
please help us

Similar Messages

  • [SOLVED]Unmounting NFS shares before network is brought down

    I'm using networkd and I have enabled the network-wait-online service, so at boot-time my NFS shares are mounted after the network becomes available. That all works perfectly.
    However, it doesn't work the other way around i.e. when shutting down. The network is brought down, and then systemd attempts to unmount the shares, which obviously doesn't work.
    Have I missed a step?
    Last edited by tomk (2014-07-04 12:31:47)

    Strike0 wrote:I'm not using it, but reading your topic made me associate the "nfs-client.target" mentioned here: https://mailman.archlinux.org/pipermail … 26393.html
    I checked this out too, but it has a lot of 'Wants' that I don't really need.  Maybe I could fix it up, but I use autofs so I don't have this problem (the real autofs, not the systemd one).
    % systemctl cat nfs-client.target
    # /usr/lib/systemd/system/nfs-client.target
    [Unit]
    Description=NFS client services
    Before=remote-fs-pre.target
    Wants=remote-fs-pre.target
    # Note: we don't "Wants=rpc-statd.service" as "mount.nfs" will arrange to
    # start that on demand if needed.
    Wants=rpc-gssd.service rpc-svcgssd.service
    Wants=nfs-blkmap.service rpc-statd-notify.service
    Before=rpc-gssd.service rpc-svcgssd.service nfs-blkmap.service
    [Install]
    WantedBy=multi-user.target
    WantedBy=remote-fs.target
    Last edited by WonderWoofy (2014-06-21 01:00:04)

  • BPM process faild directly after it was initiated

    Hello,
    Today i deployed a new version of bpm process today, wich always completed successfully. Now this process becomes status failed and is suspended immidiatley after it was initiated. The following message is given under Manage Processes -> Process Instances:
    Process 'New Pool 0' suspendedjava.lang.NullPointerException
    at java.lang.String.concat(String.java:1861)
    at com.sap.glx.mapping.execution.implementation.function.builtin.text.TextConcatFunction.invokePrimitiveRowCell(TextConcatFunction.java:12)
    at com.sap.glx.mapping.execution.implementation.invoker.MediatedPrimitiveRowCellInvoker.invokeGeneric(MediatedPrimitiveRowCellInvoker.java:79)
    at com.sap.glx.mapping.execution.implementation.Interpreter$SourceResolver.resolveSourceInvocation(Interpreter.java:73)
    at com.sap.glx.mapping.execution.implementation.Interpreter$SourceResolver.resolveSourceStep(Interpreter.java:91)
    at com.sap.glx.mapping.execution.implementation.Interpreter$SourceResolver.resolveSource(Interpreter.java:67)
    at com.sap.glx.mapping.execution.implementation.Interpreter$SourceResolver.<init>(Interpreter.java:56)
    at com.sap.glx.mapping.execution.implementation.Interpreter.mapPart(Interpreter.java:145)
    at com.sap.glx.mapping.execution.implementation.Interpreter.mapPart(Interpreter.java:151)
    at com.sap.glx.mapping.execution.implementation.Interpreter.mapMapping(Interpreter.java:140)
    at com.sap.glx.mapping.execution.implementation.Interpreter.map(Interpreter.java:135)
    at com.sap.glx.core.internaladapter.Transformer$ClassRegistry$MapperClassManager$MapperClassHandler$MapperInvocationHandler.map(Transformer.java:2071)
    at com.sap.glx.core.internaladapter.Transformer$ClassRegistry$MapperClassManager$MapperClassHandler$MapperInvocationHandler.invoke(Transformer.java:2048)
    at com.sap.glx.core.internaladapter.Transformer$TransformerInvocationHandler.invoke(Transformer.java:576)
    at com.sap.glx.core.dock.impl.DockObjectImpl.invokeMethod(DockObjectImpl.java:463)
    at com.sap.glx.core.kernel.trigger.config.Script$MethodInvocation.execute(Script.java:247)
    at com.sap.glx.core.kernel.trigger.config.Script.execute(Script.java:670)
    at com.sap.glx.core.kernel.execution.transition.ScriptTransition.execute(ScriptTransition.java:64)
    at com.sap.glx.core.kernel.execution.transition.Transition.commence(Transition.java:241)
    at com.sap.glx.core.kernel.execution.LeaderWorkerPool$Follower.run(LeaderWorkerPool.java:118)
    at com.sap.glx.core.resource.impl.common.WorkWrapper.run(WorkWrapper.java:58)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator$1.run(ServiceUserManager.java:116)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at com.sap.glx.core.resource.impl.j2ee.ServiceUserManager$ServiceUserImpersonator.run(ServiceUserManager.java:114)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:169)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:266)
    In the BPD there are no suggestion about any errors. The Server Log gives no error message.
    Hope anyone can help me?
    Edited by: tw18399 on Oct 20, 2009 2:13 PM

    Hi,
    If you are using expressions for assigning the potential users at runtime, check that the attributes that you are using have proper data. This may be one of the several reasons behind failed process instances.
    Regards,
    Arafat

  • Yes i just bought an i pod and i just disconected it after i was done down loading my music now i cant locate it on my computer or through itunes

    Need some help cant get back onto my ipod to add music, ive tried removing the device but it didnt work. before that i took it off the cord then i plugged it back in and it still didnt work

    Are you talking about transfering pourchses from the iPod to the computer then:
    iTunes Store: Transferring purchases from your iOS device or iPod to a computer
    In iTunes 11 use Control+B to show the Menu bar then go to iTunes>File>Devices>Transfer Purchases
    Otherwise I do not understand what you are talking about.

  • I bought an IPhone 3gs and tried to reset the APN but when I click on settings then General they tell me to click on the "Network" tab but there is not a tab for "Network"? After Network, I was supposed to go to Cellular Data Settings?

    I bought an IPhone 3gs and tried to reset the APN through Strait Talk Wireless but when I click on settings then "General" tab they tell me to click on the "Network" tab but there is not a "Network" tab? After Network, I was supposed to go to Cellular Data Settings but I can't find the Network tab under the General tab. I watched videos and every IPhone I saw had the Network tab but mine don't, can anyone please help this old man fix this new technology, so I can use the Internes and MSM?Thanks, jerry b <><

    Hey electrikn,
    Thanks for the question. If your iPhone 3GS has been updated to iOS 6, this setting had moved:
    Set network options: Go to Settings > General > Cellular
    via http://manuals.info.apple.com/MANUALS/1000/MA1658/en_US/iphone_ios6_user_guide.p df
    Thanks,
    Matt M.

  • Each time I try to start iTunes after it was closed, it wouldn't start. I have to go to the Task Manager delete Apple Push from processes and only after that iTunes statrs again. What is wrong?

    Each time I try to start iTunes after it was closed, it wouldn’t start. I have to go to the Task Manager delete Apple Push from processes and only after that iTunes statrs again. What is wrong

    Did you manage to get it working mine disappeared after I while I managed to download it but now my laptop/iTunes won't recognise my iPhone!

  • Wait event "virtual circuit wait" in wait class "Network" was consuming sig

    Hello,
    We are facing this problem when there are 2 queries try to run at the same time.
    The first query takes longer to finish so 2nd has to wait for 1st to be finished and then only 2nd starts. It seems the jam is at netowork instead of server.
    I want to make sure before I start testing on network.
    I get following :
    Wait event "virtual circuit wait" in wait class "Network" was consuming significant database time. 98.4
    Wait class "Network" was consuming significant database time.
    and recommendations is stated as :
    Investigate the cause for high "virtual circuit wait" waits with P1 ("circuit#") value "21" and P2 ("type") value "2".
    I am checking OEM.
    Thanks,
    Shashi.

    Hello Sybrand,
    Can you suggest some changes to be done to test ?
    Here is my shared server config :
    SQL> show parameter SHARED
    NAME TYPE VALUE
    hi_shared_memory_address integer 0
    max_shared_servers integer
    shared_memory_address integer 0
    shared_pool_reserved_size big integer 135895449
    shared_pool_size big integer 0
    shared_server_sessions integer
    shared_servers integer 1
    Thanks,
    Shashi.

  • Dequeue with wait=10 hangs forever

    I created a queue on 9i with
    EXEC DBMS_AQADM.CREATE_QUEUE_TABLE (queue_table => 're2_t', queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE', multiple_consumers => FALSE);
    EXEC DBMS_AQADM.CREATE_QUEUE (queue_name => 're2', queue_table => 're2_t', max_retries => 2147483647);
    EXEC DBMS_AQADM.START_QUEUE (queue_name => 're2');
    if i execute
    declare
    do dbms_aq.dequeue_options_t ;
    mp dbms_aq.message_properties_t ;
    mhandle RAW(16);
    message sys.aq$_jms_text_message;
    begin
    do.wait:=10;
    do.navigation:= DBMS_AQ.NEXT_MESSAGE;
    dbms_aq.dequeue(
    queue_name=>'re2',
    dequeue_options=>do,
    message_properties=>mp,
    payload=>message,
    msgid=>mhandle);
    end;
    then the dequeue will not wait for 10s. It will just wait forever.
    I have set the aq_tm_processes=1 and job_queue_processes=1...
    Any solutions/hints?

    In which mode your database server is running? Probably if its in dedicated mode it will hang u can check it by changing the database mode.
    null

  • Process p.waitFor() wait forever, need solutions

    Dear Members,
    I am trying to run a perl script from java code that generates a log file on file system and populates the date in to mysql table.In java code while calling method Process p .waitFor(), the java program will hangs up and i am also using p.destroy() method but no further code will be executed.The process will wait forever. I have also seen that the perl file is being executed as it generates a log file with some data but it never completes I am using Windows Xp platform and jdk 1.5. But when i explicitly terminates the java program the log file will be generated immediately and data will be populated in mysql table.
    My java program simple converts xls file to csv and then this csv file is passed as an argument for perl script file.
    My java code is written below:
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.util.Locale;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import jxl.Cell;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.WorkbookSettings;
    import jxl.read.biff.BiffException;
    public class ConvertXLSTOCSV
         private static MyLogger lLog = MyLogger.getLogger();
         public boolean convertXLSTOCSV(String xmlfilePath, String xlsFilename)
              boolean conversionDoneFlag=false;
              String csvFileName="";
              String csvFilePath = "";
              csvFilePath = xmlfilePath.substring(0, xmlfilePath.lastIndexOf("/"));
              csvFilePath = csvFilePath+"/csv/";
              lLog.info("csvFilePath :"+csvFilePath);
              if(xlsFilename.contains(".xls")){
                   xlsFilename = xlsFilename.replaceAll(" ", "_");
                   csvFileName = xlsFilename.replaceAll(".xls", ".csv");
                   csvFileName = csvFilePath+csvFileName;
                   lLog.info("csvFileName : "+csvFileName);
                   xmlfilePath = xmlfilePath+"/"+xlsFilename;
                   lLog.info("xmlfilePath : "+xmlfilePath);
              //File to store data in form of CSV
              File f = new File(csvFileName);
              OutputStream os = null;
                   try {
                        os = (OutputStream)new FileOutputStream(f);
                   } catch (FileNotFoundException e1) {
                        lLog.info("FileNotFoundException occurs");
                        e1.printStackTrace();
              //String encoding = "UTF8";
              OutputStreamWriter osw = new OutputStreamWriter(os);
              BufferedWriter bw = new BufferedWriter(osw);
              //Excel document to be imported
              String filename = xmlfilePath;
              lLog.info("XLS File path : "+filename);
              WorkbookSettings ws = new WorkbookSettings();
              ws.setLocale(new Locale("en", "EN"));
              Workbook w;
                   try {
                        w = Workbook.getWorkbook(new File(filename),ws);
              // Gets the sheets from workbook
              for (int sheet = 0; sheet < w.getNumberOfSheets(); sheet++)
              Sheet s = w.getSheet(sheet);
              Cell[] row = null;
              // Gets the cells from sheet
              // Gets the cells from sheet
                        for (int i = 0; i < s.getRows(); i++) {
                             row = s.getRow(i);
                   lLog.info("Row_no="+i+", row_length="+row.length);
                             // Fetching cell values
                             for (int j = 0 ; j < row.length; j++) {
                                       String cellValue=row[j].getContents();
                             Pattern p = Pattern.compile("[\\n\\r\\t]");
                             Matcher m = p.matcher("");
                             m.reset(cellValue);
                             String result = m.replaceAll("");
                             if(j==13){
                                  bw.write("\""+result+"\"");
                                  lLog.info("Coloumn index ="+j+"and its value\""+result+"\"");
                             }else{
                                  bw.write(result);
                                       bw.write(',');
                                  bw.newLine();
                   bw.flush();
              bw.close();
              lLog.info("Conversion completed");
                   } catch (BiffException e) {
                        lLog.info("BiffException occurs while Conversion");
                        e.printStackTrace();
                   }catch (UnsupportedEncodingException e){
                   System.err.println(e.toString());
                   }catch (IOException e){
                   System.err.println(e.toString());
              // Call script to insert in temporary table
              String pl_file = "";
                             lLog.info("going to execute perl file");
                             pl_file = "power_gen_report.pl";;
                             lLog.info("Perl file path :"+pl_file);
                             String cmdLine[] = { "perl", "-f", pl_file, csvFileName };
                             lLog.info("Perl command :"+"perl -f "+pl_file+" "+csvFileName );
                             try{
                                  Runtime rt= Runtime.getRuntime();
                                  Process p = rt.exec(cmdLine);
                                  InputStream in = p.getInputStream();
                                  InputStream err = p.getErrorStream();
                                  boolean finished = false; // Set to true when p is finished
                                  while( !finished) {
                                       try {
                                            while( in.available() > 0) {
                                                 // Print the output of our system call.
                                                 Character c = new Character( (char) in.read());
                                                 System.out.print(c);
                                            while( err.available() > 0) {
                                                 // Print the output of errors
                                                 Character c = new Character( (char) in.read());
                                                 System.out.print(c);
                                       int exitVal;
                                       try {
                                       exitVal = p.waitFor();
                                       //int exitVal = p.exitValue();
                                       finished = true;
                                       System.out.println("finished = "+finished);
                                       if(exitVal == 0){
                                            lLog.info("perl file executed sucessfully :"+pl_file);
                                            lLog.info("Table Populated sucessfully if csv file has new records\n");
                                            conversionDoneFlag=true;
                                       }else{
                                            lLog.info("Table not Populated : Due to records in csv file are already present in table\n");
                                            lLog.info("Exit Value returns from perl file : "+exitVal);
                                       p.destroy();
                                       } catch (InterruptedException e) {
                                            e.printStackTrace();
                                       } catch (IllegalThreadStateException e) {
                                            // Sleep a little to save on CPU cycles
                                            try {
                                                 Thread.sleep(500);
                                            } catch (InterruptedException e1) {
                                                 lLog.info("InterruptedException occurs ");
                                                 e1.printStackTrace();
                             }catch(IOException e){
                                  lLog.info("IOException occurs ");
         return conversionDoneFlag;
         public static void main(String[] args){
              System.out.println("Executing main() method ");
              ConvertXLSTOCSV dv =new ConvertXLSTOCSV();
              boolean ad = dv.convertXLSTOCSV("d:/attachment/excel","Technical_Associates_Ltd.16-06-2010.xls";);
              if(ad== true){
                   System.out.println("Conversion completed");
              }else{
                   System.out.println("Conversion not completed");
    Please help me!.as i am unable to sort out this problem.
    I will be very thankful to you for the same

    next time put your code inside code brackets then we can actually read what you wrote. (and if you copy it directly from your source code, it will keep the correct formating)
    Anyhow, p.waitFor();
    is waiting for both of the
    InputStream in = p.getInputStream();and
    InputStream err = p.getErrorStream();
    to get the EndOfFile character.
    As long as it is thinking there could be more input/output, process 'p' wont die.
    and if it won't die.. then it will keep waiting.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Network is still down after ISP Metro E box was replaced

    Our carriers Metro E box went out last night in our courthouse and they had to replace it with a whole new box all together. Once they did and they got back connected on their side our whole courthouse is still down. They said nothing changed on their end. The only thing they did was switch from a Occum Metro E box to a 208 Metro E box. I dont understand why our network is still down. Ive checked our gateway switch and the config is still the same, nothing changed. Anybody seen this problem beforre where the ISP had to replace their metro E box and the network wouldnt come back up after the new install?

    You are a mite confused.
    The iPhone unless the cellular data is fully off will revert to cellular even if on WiFi if the WiFi connection is not on.
    You have a modem from Comcast, however do you have a wireless router? You see a modem that connects to the internet when turned off does not affect the broadcast connections to your phones if WiFi is on.
    So the WiFi finds your devices however it has no access to internet services. If your wife and you have cellular turned off and you turn off the Comcast modem you have no cellular or broadband connection to anything.
    In this case the Find my iPhone will show the device as off. Because there is no signal either on WiFi /modem and cellular.
    Hope that helped?

  • HT201263 in restoring process,"waiting for ipad" is written in itunes after that it get stuck

    in restoring process,"waiting for ipad" is written in itunes after that it get stuck

    iPad: Unable to update or restore
    http://support.apple.com/kb/ht4097
    iTunes: Specific update-and-restore error messages and advanced troubleshooting
    http://support.apple.com/kb/TS3694
    If you can’t update or restore your iOS device
    http://support.apple.com/kb/ht1808
    iPad Stuck in Recovery Mode after Update
    http://www.transfer-iphone-recovery.com/ipad-stuck-in-recovery-mode-after-update .html
    iOS: Apple logo with progress bar after updating or restoring from backup
    http://support.apple.com/kb/TS3681
     Cheers, Tom

  • I was downloading the walking dead app on my iphone and after it was done it started saying waiting. I can't delete it but if I go into the App Store I can open it through there. Can someone please tell me how to delete it.

    I was downloading the walking dead app on my iphone and after it was done it started saying waiting. I can't delete it but if I go into the App Store I can open it through there. Can someone please tell me how to delete it.

    I have the exact issue with Vivino on Iphone4S. Did u figure out a fix?

  • BPEL Test waits forever to receive callback from human task service

    Hi,
    I've created a test (CreditCardInvalidTest.xml) to test a bpel process (testbpel.bpel) which contains a call to a human task service. The problem is when the test executes it waits forever to receive the response message from the human task service but clearly i've emulated it! Would appreciate help.
    I've attached both files and highlighted the relevant sections. Thanks.
    testbpel.bpel
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    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:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    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:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>*
    </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <--- it waits FOREVER at this bit to receive the approverResponse.xml :s
    <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    RaviKiran,
    I agree that the explanation oracle provided in the attach link, is a bit confusing. The main goal there is to describe the behavior of processes, when there is a need to combine, or split the transactions within those processes (or in some cases the processes themselves).
    The thing is - The default transaction for a synchronous process is requiresNew. That was until version 11.1.1.6. On this last version, you are asking to enter a Transaction parameter when creating a new synchronous bpel process. The default value being prompt is required and that's what causing the problem – You automatically accept the default.
    The assumption is, that developing bpel processes, should come with understanding of all those behaviors.
    The problem for my understanding is that some of those behaviors were not so cleared until now.
    Arik

  • Test waits forever for a callback from a human task

    Hi,
    I've create a test to test a BPEL process. Now within the BPEL process there is a call to a human task service. I've emulated the task initiation message which is fine. I also tried to emulate the receive message from the human task service but during the test execution, the test waits forever to receive the callback from the human task service, even though i've specified the return message. Would appreciate help with this! I've posted my testbpel.bpel and the test case (CreditCardInvalidTest.xml) below. For both these files I've highlighted in bold the relevant bits of code that's giving me problems. Thanks
    testbpel.bpel:
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    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:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    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:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>* </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml:
    <?xml version='1.0' encoding='utf-8'?>
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    Hi hi, on a hunch I previewed the page in the browser, and copy pasted the faces/untitled1 portion of the URL there and pasted on the http://<server_address>:8001/BasicAPPDemo_Root therefore ending with http://<server_address>:8001/BasicAPPDemo_Root/faces/untitled1 and lo and behold I saw the little text box saying "Hello World" ;D
    So with that i escalated, switched to the application where the page from BPM was located, deployed it and did the same trick.
    But it borked it gave this error:
    JBO-29115 Unable to construct the error message due to error java.lang.NullPointerException. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-.
    I figured that the Default generation could be faulty so i created a new page and only recycled the data controls, created everything in read mode, just to test and deployed, when i tested, i was optimistic as the 1st tab didn't had any error (also does not have anything related to the HumanTask, even the data controls) the problem was in the other tabs as I show here.
    Many thanks sirs, and sorry for wasting thy time.

  • RAC 10.2.0.5 - Session waiting forever

    Hi, i feel alone
    The database has several sessions that are waiting forvever.
    Sometimes these sessions are wainting for "direct path read", or "read by other session"
    The objects on which the sessions are waiting are never the same (user table, or LOB, ...)
    The OS process associated with the database session doesn't exists anymore on the system.
    The connection is made with JDBC THIN CLIENT.
    NO error messages as the session is just waiting indefinitly
    If a start a new session and issue a simple SQL SELECT on the waited objects on both instance.
    The first instance return the resultset. The second instance just wait forever.
    After the blocked objects is rebuilt, SQL SELECT works fine from both instance.
    Killing the waiting sessions doesn't solve the probleme as next same SQL QUERY from the other instance, will be blocked too ...
    Rebuild the object solve the problem ...
    BUT THIS IS FAR NOT A GOOD SOLUTION !
    The database is Oracle 10.2.0.5 SE RAC for LInux RHEL5 x64.
    ASM is used.
    Thank you for any suggestions !

    Hi,
    thank you for your response.
    This is a STANDARD EDITION with all tables degree set to 1, and all indexes degrees set to 1 or 0.
    I kill the session selected with the following query (the ones with high last_call_et)
    select inst_id, username, last_call_et, event, row_wait_obj# from gv$session where status='ACTIVE' and state='WAITING' and username is not null;
    Sometime, just kill the session solve the problem
    Now, i got 1 session waiting forever on "read by other session" on table SYSTEM.SQLPLUS_PRODUCT_PROFILE the SQL executed is
    "analyze table infomed2.dm_ligne ....;" .
    The same problem appears on 2 differents databases on the same RAC cluster (all in 10.2.0.5)
    i guess a bug with dictionnary latch, or with gcs, or with sqlnet( session closed but not realeased), ... but cannot find any information

Maybe you are looking for

  • How to configure the delivery item text is required text

    Dear All,         I have issues about delivery item text.  I would like to know how configure to delivery item text is required text (if not enter the text then cannot save delivery and show error message).        In configuration about delivery text

  • OM CUSTOM INFOTYPE INTAKE

    HI, sap experts , i have created 9000-object om  infoytype  and while entering po13 tocode  i have given the custom infotype and selected 9000 infotype ...and it is giving the message specify the object ID .. Plese let me know.. Regards, prasad

  • Subgroups disappear after closing project. Is there a subgroup limit?

    I have a program that takes in voltage inputs and converts some to rms current values and some to rms voltage values.  I created subgroups to use scaling factors in two seperate formula steps that would output the scaled rms voltage and currents. Aft

  • Old deleted pics always reinstalled after an update

    Hi Every time I update my phone I always do a back up first via iTunes and have to do the update via iTunes because I have a 5C with 8GB and can only update through iTunes because of lack of storage space. The problem is, after the update, when my ph

  • Price Agreement:-

    Hello Gurus, What are price agreement in Pricing? what is the purpose of Price Agreements.... When I read several document on it; it say that ir can group condition records and condition type as per the customer expected price..... Can't this be done