BPEL Testcase with pick-activity

I use JDeveloper 10.1.3.3.0.4157 but I have not opportunity to create "Emulate Receive message" for pick activity.
When I tried edit test manually
<activityDriver name="order_Pick">
<emulate duration="PT">
<inboundMessage>
<part fileName="initiationMsg.xml"
name="payload"/>
</inboundMessage>
</emulate>
</activityDriver>
I get error:
[Error ORABPEL-20055]: Invalid emulation.
[Description]: in line 26 of "main.xml", Activity "order_Pick" is not an onAlarm event handler or a receive,
invoke, or wait activity. Only those activities can be emulated.
[Potential fix]: Please correct the test driver appropriately..
What is wrong?

Process is too long but I post snippet
BPEL
<receive name="receiveInput" partnerLink="client"
portType="client:order" operation="initiate"
variable="inputVariable" createInstance="yes">
<correlations>
<correlation initiate="yes" set="correlationSet"/>
</correlations>
</receive>
<sequence name="start_Sequence">
<sequence name="checking">
<scope name="checking_Scope">
<sequence name="checking_Sequence">
<invoke name="checking_Invoke" partnerLink="checking"
portType="ns2:checking"
operation="checking"
inputVariable="checking_InputVariable"
outputVariable="checking_OutputVariable"/>
<reply name="replyOutput" partnerLink="client"
portType="client:order" operation="initiate"
variable="check_OutputVariable"/>
</sequence>
</scope>
</sequence>
<pick name="final_Pick">
<onMessage portType="client:order"
operation="finalData" variable="inputVariable"
partnerLink="client"
bpelx:name="finalData">
<correlations>
<correlation initiate="no" set="OrdersCorrelationSet"/>
</correlations>
<sequence name="final_Sequence">
<assign name="final_Assign">
<copy>
<from expression="'started'"/>
<to variable="outputVariable" part="payload"
query="/client:orderResponse/client:result"/>
</copy>
</assign>
<reply name="final_Reply" partnerLink="client"
portType="client:order"
operation="finalData" variable="outputVariable"/>
</sequence>
</onMessage>
<onAlarm for="'PT30M'">
<terminate name="final_Terminate"/>
</onAlarm>
</pick>
Testcase
<BPELTest processName="order"
xmlns="http://xmlns.oracle.com/bpel/instancedriver">
<initiate operation="initiate">
<inboundMessage>
<part fileName="initiationMsg.xml" name="payload"/>
</inboundMessage>
</initiate>
<activityDriver name="checking_Invoke">
<emulate duration="PT">
<inboundMessage>
<part fileName="checkingResponse.xml"
name="checkingResponseElement"/>
</inboundMessage>
</emulate>
</activityDriver>
<activityDriver name="final_Pick">
<triggerOnMessage doBeforeActivity="true" onMessageName="finalData">
<inboundMessage>
<part fileName="initiationMsg.xml" name="payload"/>
</inboundMessage>
</triggerOnMessage>
</activityDriver>
</BPELTest>
WSDL
<portType name="order">
<operation name="initiate">
<input message="client:RequestMessage"/>
<output message="client:checkingResponse"/>
</operation>
<operation name="checkData">
<input message="client:RequestMessage"/>
<output message="client:checkingResponse"/>
</operation>
<operation name="finalData">
<input message="client:RequestMessage"/>
<output message="client:ResponseMessage"/>
</operation>
</portType>

Similar Messages

  • ValidateXML does not work with Pick Activity?

    Hi All,
    I have a BPEL process which receives message using a pick activity, my requirement is to Validate the input message against the XSD.
    For this, i tried using the ValidateXML (bpelx:validate variables="varName") and then catch this exception using "invalidVariables" exception.
    But i am getting the below error:
    <part name="summary">
    <summary>
    Invalid xml document.
    According to the xml schemas, the xml document is invalid. The reason is: Error::cvc-elt.1: Cannot find the declaration of element 'payload'.
    Please make sure that the xml document is valid against your schemas.
    </summary>
    My WSDL message and portType is given below:
    <message name="ValidateXMLPOCRequestMessage">
    <part name="payload" element="ns2:ValidateXMLRequest"/>
    </message>
    <message name="ValidateXMLPOCResponseMessage">
    <part name="payload" element="ns2:ValidateXMLResponse"/>
    </message>
    <portType name="ValidateXMLPOC">
    <operation name="createOp">
    <input message="tns:ValidateXMLPOCRequestMessage"/>
    <output message="tns:ValidateXMLPOCResponseMessage"/>
    </operation>
    <operation name="updateOp">
    <input message="tns:ValidateXMLPOCRequestMessage"/>
    <output message="tns:ValidateXMLPOCResponseMessage"/>
    </operation>
    <operation name="cancelOp">
    <input message="tns:ValidateXMLPOCRequestMessage"/>
    <output message="tns:ValidateXMLPOCResponseMessage"/>
    </operation>
    </portType>
    Also, the same seems to be working using a standard Synchronous BPEL process. (i.e ValidateXML on the XSD)
    Any help regarding this is much appreciated.
    Regards,
    Shreyas

    Hi All,
    To update on this thread...
    The issue has been resolved, looks like ValidateXML was not working directly on the MessageType variable in bpel and hence was throwing that error.
    Solution: 1) Create a variable of type 'Element' based on the XSD
    2) Then transform the onMessage variable from the pick activity to the newly created variable.
    3) Validate this Element type variable using the "bpelx:validate name="someName" variables="newlyCreatedElementTypeVar"
    4) You can catch this exception thrown using the "invalidVariables" exception, in the catch block.
    Regards,
    Shreyas

  • BPEL Services with Task are ending in Recovery console

    Hi All,
    I have a BPEL service with task activity. Once the task service is invoked, the BPEL service is ending up in recovery console. Not sure why this is happening, we are currently on SOA 10.1.3.3.1+MLR18.
    Note: In the same service I have a debug statement after the task initiation and before the receive activity of task. Once the BPEL service is invoked log I can see that my debug statement is getting executed. It means that in the back end my task is getting executed but it is not shown in BPEL console or WFTASK table.
    Please suggest if we have I am missing any thing.
    Thanks
    Ramu.

    Hi Ramu,
    Are you able to recover the process from the manual recovery section ? If yes, then its fine and now turn the cube, wf, engine loggers to DEBUG and see the corresponding errors in the log file.(to figure out the root cause)
    Regards
    A

  • [b]How to start a process bpel with a pick activity?[/b]

    I write a bpel asynchronous process that begins with the activity pick but I can not make the process continue with the activity receive, Example:
    <pick createInstance="yes">
    <onMessage partnerLink="BookStore"
    portType="bst:BookPurchasePT"
    operation="BookPriceQuery"
    variable="BookQuery">
    </onMessage>
    <--!receive ???>
    <pick/>
    <--!receive ???>
    As continuous process ?
    Thanks

    You don't need to add a receive.
    A pick "onMessage" branch is effectively doing the same thing as a receive activity.
    When you add the onMessage branch of pick you choose the partnerlink, operation, and can create an inputVariable.
    You can then deal with the input variable in the first step of the process.

  • Cannot deploy BPEL process with SSO to BPELConsole activated

    I cannot deploy BPEL process with SSO to BPELConsole activated. Here is the error I get from JDeveloper (sorry for the french error message):
    Problème détecté lors de la connexion au serveur "ssdvoiagu.dev.local.csst.qc.ca" sur le port "7781" : java.security.AccessControlException: access denied (com.collaxa.security.DomainPermission generique read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
    at java.security.AccessController.checkPermission(AccessController.java:427)
    at com.collaxa.security.OC4JSecurityService.checkAccess(OC4JSecurityService.java:16)
    at com.collaxa.security.SecurityService.checkDomainAccess(SecurityService.java:26)
    at com.collaxa.cube.fe.util.ServletUtils.getLocatorWithoutUrlRewrite(ServletUtils.java:162)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:332)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Target BPEL process manager runs under SOA 10.1.3.3. When the SSO to BPELConsole is disabled, the deployment works just fine. Is there any way to make it work with SSO?

    Please check:
    http://blog.jpoot.com/category/oracle-appserver/oid-ldap/
    We had some issues with SSO and SSL but everything is running now.
    Marc

  • Pick activity is not working properly while creating two or more file adapt

    Hi,
    pick activity is not working properly while creating two or more file adapter for bpel process.
    bpel process compiled and deployed succesfully but while observing the wsdl file of deployed process you can find only one file adapter. so it polls only from that location.
    can anybody help on over this? or it's limitation of jdev to use only one file adapter at time while using Pick.
    Thanks
    sagar

    Does anybody tried this?
    Thanks
    sagar

  • OnAlarm Time duration setting for OnAlarm in Pick activity

    Hi,
    My internal sysnchronous transaction time is 120 sec. So when I call a PL/Sql procedure using the DB adapter synchronously, my process is throwing Timeout error. In order to come out from this I am thinking to have a Pick activity (similar like 108.Timeouts example) after invoking the DB and then in the PICK activity I want to specify some longer time. But I am wondering if I can give big amount like hours or days which is more than the default time? In this case I hope again the time out will happen in the Pick Activity? mmmmm, am I thinking right?
    Or the transaction won't expire unless the Alaram is triggered?
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    It is not sensible to have a synchronous process with timeouts in hours or days, since the engine holds a thread in memory until it completes, you are therefore holding onto resources which prevents them from being used by other requests, and you will suffer from performance problems. This should really be made an asynchronous process.

  • 'On alarm' flow of the "Pick" activity thorws unexpected server error

    ‘On alarm’ flow of the “Pick” activity does not work. It always gives unexpected server error.     
    Navigation: Start JDevloper ->asynchronous BPEL Process ->Pick Activity-> on alarm branch
    Can anyone help please
    thanks

    Can you post the error message and Jdev version?

  • Strange error protecting BPEL service with WSM server agent

    I'm trying to protect a BPEL service with OWSM (SOA Suite 10.1.3.3 MLR#19). Everything looks fine as far as I can see, but when the service is called with WSM active it always fails with internal server error. There are no errors in the logs (BPEL logs, OPMN logs, OWSM logs, ...) except the following in the Apache access logs:
    "POST /policymanager/services/RegistrationService HTTP/1.0" 200 525
    I can connect to /policymanager/services/RegistrationService with a browser, it shows a message saying it is an Axis web service. Without WSM the BPEL service works fine.
    I have tried to fix this for two full days now and nothing I have tried makes a difference. Any suggestions for what I should do in order to solve the issue or at least get more data on what the root cause could be?
    -Erik
    Edit: There were two issues. The built-in test page doesn't work, when invoked with a real external client it works better. In addition the properties for file-based policies seem to be used even when the online check has been enabled (so they cannot be omitted/blank) and a restart is required to make the changes bite.
    Edited by: ew on Oct 4, 2010 2:50 PM

    Did you resolve this issue ? We are having same issue with one of our BPEL process ........ any help would be highly appreciated .....
    Thanks in Advance

  • Pick Activity delaying WS response causing timeout error

    Hi,
    In my BPEL process, I am invoking a Webservice through partnerlink. After the invoke activity i am assigning some message to the output variable. It is working fine.
    Now, i want to display a custom message on WS response time out. In order to achieve this, I added a *'Pick Activity' after the 'Invoke Activity'*. Now, the same WS response is timing out at around 45 sec. So, If I add a timer of 30 sec, it shows my custom message of request timed out and if i change the timer time out to 1 min, then it shows system error message, as below
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is d992ed601d021346:666c57cb:129822499b8:-7f8e. Please check the process instance for detail.</faultstring>
    </Fault>
    So, I am not able to understand that why Webservice response is timing out on adding pick activity after invoking webservice.
    Below is the code snippet.
    <invoke name="Invoke_MathResultWS"
    partnerLink="MathResultWS"
    portType="ns1:MathResultWS" operation="division"
    inputVariable="Invoke_MathResultWS_division_InputVariable"
    outputVariable="Invoke_MathResultWS_division_OutputVariable"/>
    <pick name="Pick_1">
    <onMessage portType="client:Pooja_MathBPEL2"
    operation="process"
    variable="OnMessage_process_InputVar"
    partnerLink="client">
    <assign name="Assign_Vars">
    <copy>
    <from variable="Invoke_MathResultWS_division_OutputVariable"
    part="parameters"
    query="/ns2:divisionResponseElement/ns2:result/ns2:output"/>
    <to variable="outputVariable" part="payload"
    query="/client:Pooja_MathBPEL2ProcessResponse/client:Result"/>
    </copy>
    <copy>
    <from variable="Invoke_MathResultWS_division_OutputVariable"
    part="parameters"
    query="/ns2:divisionResponseElement/ns2:result/ns2:messg"/>
    <to variable="outputVariable" part="payload"
    query="/client:Pooja_MathBPEL2ProcessResponse/client:Message"/>
    </copy>
    </assign>
    </onMessage>
    <onAlarm for="'PT1M'">
    <assign name="Assign_TimeOut">
    <copy>
    <from expression='"WebService Response TimeOut"'/>
    <to variable="outputVariable" part="payload"
    query="/client:Pooja_MathBPEL2ProcessResponse/client:Message"/>
    </copy>
    <copy>
    <from expression='number("0")'/>
    <to variable="outputVariable" part="payload"
    query="/client:Pooja_MathBPEL2ProcessResponse/client:Result"/>
    </copy>
    </assign>
    </onAlarm>
    </pick>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    Note: I am working on SOA 10g

    Hi Shanmu,
    I couldn't understand what you mean by saying "Pick activity would add an additional operation to the BPEL wsdl and to proceed further, that operation would need to receive data."
    As far as I understand the use of pick activity, it has a onMessage branch which contains the code for receiving a reply and a onAlarm branch which contains the code for a timeout. So, I think it can be used to check webservice response time out if the ws doesn't return response in some specified duration of time.
    Moreover, can you pls elaborate on how can I catch the remoteFault, coz in exception handling, what i have tried so far is throwing a custom exception from a scope when some condition is not met and catching it. So, it would be helpful if you can refer me a link to some example on catching a remoteFault.

  • Issues with Assign activity

    I am trying to assign a value(string) from an element of one variable, to an attribute of an element in another.
    I then test the process and get an error on this activity. The message says:
    XPath query string returns zero node.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity &amp;lt;to&amp;gt; part query should not return zero node.
    Please check the BPEL source at line number "162" and verify the &amp;lt;to&amp;gt; part xpath query.
    Any thoughts or suggestions?
    Thanks,
    Matthew

    Matthew,
    I don't know if this is the problem you're having, but I can take a guess at one possible cause: you are using a variable, or part of a variable, before it has been instantiated.
    I apologise in advance for this long-winded explanation. :)
    I hope you know Java because I'll use an example from that to illustrate my point. Take this (psuedocode) example where we have some code that wants to use a complex type of class Person:
    class MyClass
      private class Person
        public String nameOfPerson;
        public int    age;
      private void someMethod()
        Person ppp;
        ppp.nameOfPerson = "Homer Simpson";
        ppp.age  = 38;
    }Hopefully you realise that this will fail. That's because even though ppp is of type Person, you can't start using the data structures it contains because they haven't been created yet. That is, it hasn't been instantiated. Instead, the variable creation line can look like this:
    Person ppp = new Person();Now memory has been set aside and the data structures are created. There are empty "slots" for name and age and you can start populating those fields.
    If that makes sense to you then you should understand how that pertains to BPEL and your problem.
    The thing that's going on with BPEL variables is much the same, except that they are based on XML, which adds some difficulty. In Java, a variable has just a value. e.g. ppp.nameOfPerson = "Homer Simpson". But in XML, you have an element name and an element value. The XML (again, psuedocode) equivalent might be myVar = "<nameOfPerson>Homer Simpson</nameOfPerson>". And you can't put in the "Homer Simpson" until the <nameOfPerson> slot exists.
    In our BPEL solution, we do something nice for you which most people don't even realise. We initialise your variables for you. But -- and here's the catch -- not in all circumstances.
    Imagine our schema is this (everything in this post is psuedocode and not meant to be exact):
    <element name="Person">
      <complexType>
        <sequence>
          <element name="nameOfPerson" type="string"/>
          <element name="age" type="int"/>
        </sequence>
      </complexType>
    </element>Suppose our BPEL variable is called pppB (to differentiate it from the Java example, above). In your BPEL process you essentially declare your variable of that type:
    <variable name="pppB" type="Person"/>Just like in the Java example above, you can't then simply do an <assign> because the variable hasn't been initialised. Except that you can because we automatically initialise the variable for you! In every programming language a complex variable has to be instantiated or initialised before it can be used. Usually you have to do it explicitly yourself. Some, like in our case, do it for you automatically.
    For example, if you want to do XML operations in Java, you have to do something like the following (and this is very psuedocode!):
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = createNewElement();
    nameE.setNodeName = "nameOfPerson";
    nameE.setNodeValue = "Homer Simpson";
    Element ageE = createNewElement();
    ageE.setNodeName = "age";
    ageE.setNodeValue = "38";
    pppE.addChild(nameE);
    pppE.addChild(ageE);Note that you cannot assign a value to a node until is created. Also, in general, you can't work with a node unless the parent nodes also exist. The following won't work:
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = pppE.getChild("nameOfPerson")
    nameE.setNodeValue("Homer Simpson");That's because even though the Person node was created, no child nodes were. The following would work:
    Document doc = createNewDocument();
    Element pppE = createNewElement();
    pppE.setNodeName = "Person";
    Element nameE = createNewElement();
    nameE.setNodeName = "nameOfPerson";
    nameE.setNodeValue = "Homer Simpson";
    pppE.addChild(nameE);
    Element newName = pppE.getChild("nameOfPerson");
    newName.setNodeValue("Homer J. Simpson");Now returning back to BPEL, you have your variable:
    <variable name="pppB" type="Person"/>Normally you could not do such an assign because the variable hasn't been initialised:
    <assign name="addName">
      <copy>
        <from expression="string('Homer Simpson')"/>
        <to   variable="pppB" query="/ns1:Person/ns1:nameOfPerson"/>
      </copy>
    </assign>Except that with our solution you can because we are nice and do the initialisation for you automatically. People don't realise this and take it for granted, which leads to the problem you are having.
    However we don't always instantiate the variable for you. And one time we don't is when a variable is passed in. Suppose the BPEL process took a Person element as it's input:
    <variable name="inputVariable" messageType="ns1:PersonMessage"/>and PersonMessage resolved to a Person element.
    Now suppose you invoke the BPEL process with the following:
    <Person>
      <nameOfPerson>Homer Simpson</nameOfPerson>
    </Person>(Assuming that the <age> element is optional, as defined in the schema.)
    Now your BPEL process is started and inputVariable looks like this, as expected:
    <Person>
      <nameOfPerson>Homer Simpson</nameOfPerson>
    </Person>So if you then try to do an <assign> and set the age like this:
    <assign name="addName">
      <copy>
        <from expression="string('38')"/>
        <to   variable="inputVariable" query="/ns1:Person/ns1:age"/>
      </copy>
    </assign>you're going to get an error because that element does not exist. There is nowhere to put the value for age because the node for age doesn't exist! To be more precise, the query "/ns1:Person/ns1:age" returns null because there is no such element. This results in your error:
    The assign activity <to> part query should not return zero node.
    A zero node is like saying null here.
    This is what I meant above when I said XML is different from "normal" variables that we're used to. You have to have both a node and a value, whereas a variable in Java, say, only has a value.
    The solution to this is add the node first, then assign the value. We have a nice way that lets you do that with an append. In the BPEL designer you create an <assign>, then instead of a copy rule, which is what we use most of the time, you use an append. The code will look like this:
    <assign name="addAgeElement">
      <bpelx:append>
        <bpelx:from>
          <ns1:age></ns1:age>
        </bpelx:from>
      <bpelx:to variable="inputVariable" part="payload" query="/ns1:Person"/>
    </assign>The part between <bpelx:from> and </bpelx:from> is the XML you want to append. The query attribute in <bpelx:to> is where you want that XML to go. Once you've done that, you can now go and do your normal assign and set the age:
    <assign name="addName">
      <copy>
        <from expression="string('38')"/>
        <to   variable="inputVariable" query="/ns1:Person/ns1:age"/>
      </copy>
    </assign>I hope that makes sense. The code in this post is not accurate, just pseudocode to make the point.
    Regards,
    Robin.

  • Pick activity Problem

    I Have one small Problem with the pick activity. My task is Same process has to read both the XML and CSV Formatted Flat files. I have created two Web services seperately. Now i used the pick activity to read the both the data. I Have created two Onmessages and added both the partnerlinks. But the Problem is When i place the input files in different input directory for reading the file. Both the places the files are reading successfully. But it is assigning to single on message event Variable i.e XML Partner link variable..
    Can any one help on this problem. Is there any logic other than this. Thanks in advance.

    Hi! let me know if a understand your question... You are using a pick activity to read information from an xml and a csv file? and you need to read both sources, and you are using a pick activity to do that, if this is your problem, the pick activity is not the one you should use, use a parallel flow activity! in the pick activity the response of the invoke is competing against time you defined, like a race! now in your process the xml read activity and the csv file read are competing between them and agaisnt the time, if this is your problem use a parallel flow and both activities will be executed at same time without competition.
    Hope this help
    best regards!

  • Ipad activation failed : unable to continue with your activation at this time

    Hi 2 all,
    i've just upgraded and restored my ipad to 4.3.2 and now i received always 2 error messages:
    1) Unable to continue with your activation at this time
    2) Restore Needed Iphone cannot make or receive calls. Restore from itunes ...
    Someone can help me ?
    Thanks

    Got the call today to pick up my iPhone.
    The techie that checked it decided to replace my phone with a new one.
    The only answer I have to this problem is that you take your iPhone/iPad to Apple support or wherever you bought it from to assist and maybe have it swopped.
    Cheers,
    RoviWil

  • Pick activity eats messages that it does not consume

    Consider the following code fragment:
    <while name="while-1" condition="bpws:getVariableData('counter') &lt; 2">
    <pick name="pick-1">
    <onMessage partnerLink="rcvr1" portType="tns:BasicCallback" operation="onResult" variable="rcvd1">
    </onMessage>
    <onMessage partnerLink="rcvr2" portType="tns:BasicCallback" operation="onResult" variable="rcvd2">
    </onMessage>
    <onMessage partnerLink="rcvr3" portType="tns:BasicCallback" operation="onResult" variable="rcvd3">
    </onMessage>
    </pick>
    </while>
    In principle, this fragment of process will perform a number of iterations (let's say two iterations) and for each of these iterations it will consume one among three possible types of messages (the messages have the same type but come from different partner links).
    I have run this process in a situation where all the three messages (which come from the three different partner links) are sent at the same time and thus (in most executions) they arrive to the BPEL process at the same time. The problem that I'm having is that during the first iteration, the Pick activity consumes one of the message (say the message over "rcvr1") and it then discards the other two messages which are sitting on the message queue (i.e. the messages that arrived through partner links "rcvr2" and "rcvr3"). As a result, these two messages are no longer available during the second iteration of the "while" loop, and the process just waits forever.
    Reading Section 12.4 of the BPEL 1.1 spec. there's nothing in there that says that messages that are not consumed by a Pick activity should be discarded.
    Specifically, the execution log that I'm getting looks something like the following:
    ... [first iteration]
    rcvr3 (onResult) (cancelled)
    [2005/06/09 14:42:28] Waiting for message from "rcvr3", operation is "onResult".
    [2005/06/09 14:42:32] Receive activity has been cancelled.
    rcvr2 (onResult) (cancelled)
    [2005/06/09 14:42:28] Waiting for message from "rcvr2", operation is "onResult".
    [2005/06/09 14:42:32] Receive activity has been cancelled.
    rcvr1 (onResult)
    [2005/06/09 14:42:28] Waiting for message from "rcvr1", operation is "onResult".
    [2005/06/09 14:42:32] Received "onResult" callback from partner "rcvr1" More...
    <rcvd1>
    ... [second iteration]
    rcvr3 (onResult) - pending
    [2005/06/09 14:42:32] Waiting for message from "rcvr3", operation is "onResult".
    rcvr2 (onResult) - pending
    [2005/06/09 14:42:32] Waiting for message from "rcvr2", operation is "onResult".
    rcvr1 (onResult) - pending
    [2005/06/09 14:42:32] Waiting for message from "rcvr1", operation is "onResult".
    Interestingly, sometimes it happens that one of the 3 messages arrives one second before the other two. In this case, The Pick activity consumes the first message during the first iteration, then the process goes into the second iteration and the "Pick" activity then consumes a second randomly chosen message (but still it "eats" the third message).
    This behaviour has been observed in Oracle BPEL 2.1.2
    Kind regards
    Marlon Dumas (m . dumas @ qut . edu . au)
    Queensland University of Technology, Australia

    Thanks Marlon. I will communicate the same to dev team.

  • I recently got an iPhone 4 out of nowhere it has decided to go to connect to iTunes screen/emergency calls only when I plug into iTunes it states we are unable to continue with your activation at this time please try again later, or contact customer care

    I have recently got an iPhone 4 out of no where it has decided to think that my headphones are in and they are not but does work with headphones in.
    Then later on within the same day it after turning my phone on and putting it on charge it comes to the screen stating to connect to iTunes/emergency calls only/no service so I connect it iTunes and it says we are unavailable to continue with your activation at this time. Please try again later, or contact customer care.
    HELP!

    the same problem but i used it already for 3 years my iphone 4, when i update to ios 6.1.3 version, now is failure like said.
    we are unable to continue with your activation at this time please try again later, or contact customer care
    any help please. i am here in saudi arabia city of jeddah.
    thank you very much in advance
    pabs

Maybe you are looking for