Correlation for ELS

Hi all,
i'm in the process of making a fairly generic ELS functionality with by using eInsight Correlation.
Have one inbound Queue that is being picked up by a JMS Receive, initialized the CorrelationSet, etcetera. Then goes on to a while loop which contains an Event Based Decision with a JMS Receive on one branch and a Time out on the other branche.
Although the runtime errors appear to occur at random, in order to not get runtime errors i have to specify a receiveWait for this one, but then the process blocks. If i use a receive then i get the exception below.
For using receiveWait i do have to specify a different PortType, ns0:JMSQueue instead of ns0:JMSMessageListener.
[#|2007-02-08T22:26:03.328+0000|INFO|IS5.1.2|javax.enterprise.system.container.ejb|_ThreadID=32; ThreadName=JMS Async S167; Context=prjPPlay_u002F_prjELSdpELS/qHTTPReply_cmELS_bpELS1_ejb;stacktrace-id=4;|
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean; nested exception is: java.lang.NullPointerException
java.lang.NullPointerException
     at com.stc.codegen.eInsightImpl.runtime.ejb.BPELService.handleRequestWithCorrelatedInstance(BPELService.java:596)
     at com.stc.codegen.eInsightImpl.runtime.ejb.BPELService.handleRequest(BPELService.java:340)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Just to verify, is it possible to use eInsight Correlation with receiving messages from the same Queue ? All samples i've seen separate the Queue for the first JMS Receive and the second JMS Receive.
Tried that too, but cause some other trouble which wasn't worth pursuing.
Any input is welcome.
Take care and Ciao
Paul

11.10.5 and 11.10.6 to refer to...
Using for the first receive
<receive name="JMS.receive"
partner="JMSSource"
portType="ns0:JMSMessageListener"
operation="receive"
container="JMS.receive.Output"
createInstance="yes"
<correlations>
<correlation set="csGroupID" initiation="yes"/>
</correlations>
For the second receive either :
<onMessage name="JMS.receive"
partner="JMSSource"
portType="ns0:JMSMessageListener"
operation="receive"
container="JMS.receive.Output1"
<correlations>
<correlation set="csGroupID" initiation="no"/>
</correlations>
Throws the Error as refered to in the first case.
<onMessage partner="JMSSource"
portType="ns0:JMSQueue"
operation="receiveWait"
container="JMS.receive.Output1"
<correlations>
<correlation set="csGroupID" initiation="no"/>
</correaltions>
Never picks up a message...
Should i just not use an event based decision such as in the samples ?

Similar Messages

  • Correlation for JMS Messages possible? JMSCorrID in JMSHeader not accepted

    Is Correlation for communication over JMS messages possible?
    If I define the JMSHeader field "JMSCorrelationID" in a correlation set ("as usual") then I get
    compiler errors:
    Error ORABPEL-10036: invalid correlation set
    BPEL seems not to accept JMSHeader fields for correlation but only fields from the actual payload msg.
    Is this true?
    Is there soemwhere a guide on how to correlate JMS messages?
    Thank you
    Michael

    you can use the "Message Selector" on the JMS adapter to filter to achieve that;
    here is extract from oracle help document
    Message Selector
    Specify filtering logic that enables you to receive messages that match a certain criteria. Enter an expression between 1 and 255 characters in length. Use SQL92 syntax in this field. The JMS server uses this criteria to filter messages received by this consumer. The message selector works with variables defined in standard JMS headers and user-defined properties. You cannot use variables or elements that are in the payload of the message.
    For example, you can enter logic such as: JMSPriority > 3. Based on this, messages with a priority greater than 3 are consumed; all other messages are rejected. JMSType = 'car' AND color = 'blue' AND weight > 2500 Country in ('UK', 'US', 'France')
    it's got some limitations but works fine for our requirements so far...

  • Sales BOM: Quantity correlation for deliv.group 001

    When creating a delivery for a sales BOM material assigned to delivery group, I'm getting a partial quantity. 
    Example is sales BOM material A requires 4 EA of subitem B.  Order created for 1 EA of material A, which requires 4 EA subitem B but there are only 2 EA of B in stock.  The corresponding delivery is created with a quantity of .5 for material A.  I get the following message in the delivery log:
    "Quantity correlation for deliv.group 001 from sls.order 0004831194 for deliv.item 000010"
    I'm expecting the quantity to be 1 on the sales order.  Any help is appreciated.

    Hi,
    I guess not. Obviously, if you don't have enough to deliver in full, then you can do one of the two; either deliver less (in this case half), or deliver none (maybe you can't deliver half because it is impossible).
    Here's something from the online documentation:
    Correlating Delivery Groups
    Items in delivery groups can be combined in the sales order to synchronize their delivery. You will receive a warning message when creating a delivery for a sales order if all items belonging to such a group cannot be delivered. If you then create deliveries using a delivery due list, all orders whose delivery groups cannot be completely delivered will be ignored in this process. In this case, the log supplies all appropriate information. If the delivery quantity is changed or if such an item is deleted in a delivery item belonging to a delivery group, you will receive a warning message. For further information on delivery groups, refer to Combining Sales Document Items for Delivery.
    In addition, the system will carry out a quantity correlation for groups of items when they are classified together by one of the following requirements:
    the items belong to a common delivery group
    the items have a bill of material structure
    If the order structure arose from a bill of material explosion, the relations in quantity of the items is based on component quantity. If this is not the case, it is based on the relation of the order quantities. The system does not correlate items classified as having fixed quantities.
    When creating deliveries, the system automatically carries out a quantity correlation. If you change a higher level itemu2019s quantity, the quantities in the dependent items will be adjusted on all levels if necessary. When you change a dependent itemu2019s quantity, the system generates a warning message. When you delete a higher level item, all subordinate items are deleted as well. When you delete a dependent item, the system generates a warning message. If the dependent item contains a quantity to correlate and is the main item of a batch split, you receive a note. You must decide manually for which batches the quantity change is to take place.
    The question really is, from a business point of view, in your example what would you like to do? Deliver 1 A or none?
    Regards,
    Mario

  • Quantity correlation for deliv.group 001 -reg

    Hi
    While creating  delivery am facing below error.
    "Quantity correlation for deliv.group 001 from sls.order 0000000046 for deliv.item 000020"
    this i am facing for Genaric article in is-reatil, item cate group am using as 0002 and for main article system will determine item category as TAC
    OR 0002              TAC
    for sub items item category will be TAN
    OR 0002  TAC         TAN
    so how to resolve this error can any one please guide me
    rajen

    this is resolved my self

  • Correlation for JMS Queue

    Hi,
    I have following scenario :
    Queue1
    Bpel1 -> Writes Schema A to Queue1
    Bpel2 -> Writes Schema B to Queue1
    Bpel3 -> Reads from Queue1
    I need that Bpel3 should read only Schema A from Queue and not Schema B.
    So how will i define the correlation between Bpel1 & Bpel 3.
    I tried fetching the processId in Bpel 1 and add it to Invoke property jca.jms.JmsCorrelation_id, but was not able to set the same in Bpel3.
    Any help/spec in setting up correlation for JMS Queues is highly apreciated.
    Thanks !!

    In standard JMS, an application can specify a correlation-id on per message basis using the javax.jms.Message API, and then specify a filter (a "selector") when creating a consumer via the javax.jms.Session API, but, in general, it is usually better to use a separate dedicated queue per business process (simplifies management, simplifies coding, improves perf, etc), or, if that's not an attractive option, to use a single MDB to dispatch messages from the same queue to different business processes. I don't know the specific steps to do the same in BPEL.
    You might want to try posting to the BPEL forum at BPEL
    Hope this helps,
    Tom

  • No active correlations for message

    Hi,
    I am working on a BPM scenario. I Receive 3 different messages which I merge later in the process. I can see that the first received message is processed but the following messages get stuck in the inbound queue with a error message "permanent error in BPM" or something like that. Also I saw an error message which says "No active correlations for message".
    My BPM steps seem alright. I activated the correlation in the send step and used it in the receive step. Also defined it in the block as Local Correlation.
    sxi_cache status is "0". no problem there.
    Do you have any idea what the problem is?
    By the way after i tried it a number of times the inbound error throw another error.
    "Warning: EM-Memory exhausted:  Workprocess gets PR
    IV  / Permanent error i"
    Why do i get this error?
    Thanks

    Hi Arman,
    First of all,
    Run SWWL transaction in order to delete all the Work items involved with you Integration Process.
    Then,
    Check your correlation.
    If you recieve 3 different messages and you dont know the order they came, the correlation should be
    activated with the first message (first reciver step). But in the other two message you need to indicate which correlation must be used. I think you should use a fork with three receiver steps and in these
    reciever steps you need to activate you correlation and use the correlation.
    Hope this helps you.
    Carlos

  • Error in defining a property & property-alias for a correlation for a BPEL

    hallo,
    would anybdy be kind enough to tell me where i've done somthing wrong?
    im using netbeans 6.1 for SOA application development. there are two receive activities in a BPEL, recieve1 and recieve2. on the latter i have defined a correlation whose initiator is recieve1. the related source code from correlationWSDL is :
    <vprop:property name="wzrd_prop_ContactNo_ContactNo" type="xsd:int"/>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:checkLeadDuplicationStatusRequest" part="part1">
            <vprop:query>/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:leadWSOperationRequest" part="part1">
            <vprop:query>/ns0:LeadDetailedInfo/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>error that i'm getting is:
    ERROR: The first step has to be "ns0:LeadCoreInfo", if an absolute path is used for query. Expression: "/ns0:LeadCoreInfo/ns0:ContactNo"
    regards

    hallo,
    would anybdy be kind enough to tell me where i've done somthing wrong?
    im using netbeans 6.1 for SOA application development. there are two receive activities in a BPEL, recieve1 and recieve2. on the latter i have defined a correlation whose initiator is recieve1. the related source code from correlationWSDL is :
    <vprop:property name="wzrd_prop_ContactNo_ContactNo" type="xsd:int"/>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:checkLeadDuplicationStatusRequest" part="part1">
            <vprop:query>/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:leadWSOperationRequest" part="part1">
            <vprop:query>/ns0:LeadDetailedInfo/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>error that i'm getting is:
    ERROR: The first step has to be "ns0:LeadCoreInfo", if an absolute path is used for query. Expression: "/ns0:LeadCoreInfo/ns0:ContactNo"
    regards

  • Correlation for multiple fields in messages inside BPM

    Hi All,
    We have a requirement to collect multiple IDOCs based on combination of field1,field2,field3 and field4.
    Could you please tel me possible ways to implement this solution:
    I have tried the below options:
    Multiple fields in one correlation
    Correlation name is given and then in Correlation editor,we have given all four fields in correlation container and 1 involved message and properties are given for all fields
    Using this solution.IDOCSa re not collected even if all the IDOCs coming with same value for (field1field2field3+field4)
    for example even if combination of (field1field2field3+field4) is same still its not collecting and sending each IDOC sepearately outside BPM.
    Could you please suggest where the problem is?
    Please suggest if there is any other way to implement this in BPM.
    Thanks in advance
    Best Regards,
    Harleen Kaur Chadha

    Hi Harleen Kaur Chadha,
    Open your Integration Process (ccBPM), go menu bar u201CViewu201D, select u201CCorrelation Editoru201D. Then you can see the Correlation variables you have declared. Go the third tab u201CPropertiesu201D, and then try to edit u201CValueu201D. Expression Editor window pops up, select u201CInterface Variableu201D, then select XPath. Now edit u201CXPath Expressionu201D. Pay attention to Prefix u201Cp1u201D, it should be present in XPath expression. Check SAP help [Link|http://help.sap.com/saphelp_nwpi711/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm]
    Regards,
    Raghu_Vamsee

  • Correlation for multiline in NW BPM

    Hi Experts,
    This is related to NW-BPM not CC BPM.
    My flow is like :
    BPM (Asynch req) --> ECC
    ECC (asynch response) --> BPM
    In ECC validation is done and response (Asynch) is sent back to BPM.
    In BPM --> ECC flow:
    Request has multiple Items under a single PO
    PO
       --> Item1
       --> Item2
    etc ...
    and response also has the same structure.
    PO
       --> Item1
       --> Item2
    I am defining a correlation in such a way that
    response PO = request PO
    and
    response Item = Request Item
    But as I have multiple Items ,
    Do we need to explicitly provide multiline check like we have the option in receiver determination ? if yes where we can provide in NW-BPM case.
    If not , will the correlation also checks for multiple Items or simply the first item?
    Regards,
    SP

    Hi SP,
    If you want to check multiple line items with primary key as PO then write an EJB function in which you will pass the details and then use looping.
    Regards,
    Nikhil

  • PI IDOC Message Type Correlation for Customers & Addresses

    Hello
    We are struggling with an interface from MDM through PI and into ECC.  For example, PI grabs customer/vendor records from MDM and then sends them on to ECC.  In the process it creates IDOCS of two different message types (ADRMAS u2013 addresses, and DEBMAS u2013 for customer/vendor records)
    What is happening is that the Addresses and Customer/Vendor records are not being processed as logical units of work (LUW).  This is causing data synchronization issues in ECC where addresses are updated but customer master records are not.
    We are in desperate need of having two different IDOCS (ADRMAS and CREMAS) having related records between them be treated as logical units of work so that the related records are updated together.  If one portion fails it all should fail. 
    So far the team has not found good documentation on how to accomplish this in PI so that ECC can see that the IDOC records are related and to be treated as related LUWs. 
    Any help or references would be appreciated.

    hi,
    >>Getting idoc errors in production is a regular occurence in any system including production due to trouble with the data (bad zip codes, bad foreign keys, failures due to data validation routines, configuration changes that impact data structures).
    I know - that's when we can use WE02 and correct the wrong data
    >>There is SAP documentation that suggests that correlations/relationships can be established between idocs in PI and ECC (serialization), but we just don't quite understand it yet, and we are not confident that it will do for us what we need.
    no serialization will not do what you need as if the first one will be ok
    and second one not - serialization will not rollback the second one - sorry
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • Correlation for files containing multiple records

    I was learning correlation from a nice blog below.
    /people/milan.thaker/blog/2008/07/23/correlation-150-runtime-behavior-of-bpm
    I have one question though. In the case where the correlation is done on  a key field say PsNo.
    Now if two files have multiple records, will the correlation compare the PsNo of each record or is the comparison just on the first PsNo of each file record.
    Thanks,
    Minhaj.

    Hi Minhaj,
    1) Suppose if you want to merge 2 files into a single file based on a keyfield (PsNo), You are opting Correlation in BPM.
    In your Correlation Editor, You should mention the XPATH Expression for Keyfield(PsNO) for the involved messages.
    2) Only if both the values of keyfied(PsNo) in 2 files are equal then Only you can merge all those 2 files into single file.
    So first PsNo of each file record is going to compared with another file.

  • Message Correlation for EDIFACT in Oracle B2B

    How do we setup message correlation in Oracle B2B for EDIFACT?

    Please post your question in the B2B forum for guicker resolutions. The link is provided below
    Integration - B2B

  • Correlation for asynchronous system via websphere MQ from a BPEL client

    I could able to find samples for correlation in BPEL while invoking asynchronous webservices.
    Query 1. Are there any samples for Correlation while invoking asynchronous system via websphere MQ from a BPEL client?
    Eventhough I could see some BPEL samples under "\bpel\samples\tutorials", there is no documentation corresponding for each scenarios.In the BPELdeveloper manual, it has been mentioned to see the documentation available in the corresponding directories for instructions on running these tutorials.But there are no such documentations in it.
    Query 2.Can anybody suggest on this regarding documentation especially for the 113.ABCARouting tutorial.

    I understand the MQadapter inconsistency is my problem. Besides that below I have presented some more details regarding what I configured in BPEL...
    MQ adpater(Synchronous Get msg from MQ and send reports) ----> receive1---->Assign1----> Invoke1------->MQ adapter(Asynchronous send msg to MQ and get reports) -----> Receive2 ----> assign2 ---->reply1 ---->MQ adpater(Synchronous Get msg from MQ and send reports) .
    The MQ adapters has been configured for opaque schema. I was constructing the above flow step by step..(Initially with an MQput adapter instead of asynchronous mq adapter and ensured correct operation of messages). Then modified with asynchronous adapter and posted a message. Now the message got strucked at assign1 itself. The error instance in Assign_1 is below...
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>empty variable/expression result.
    xpath variable/expression expression "/ns3:opaqueElement" is empty at line 75, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns3:opaqueElement" is not empty.
    </summary>
    </part></selectionFailure>
    Sorry for the paining you .....I may be wrong at some point as I am new to this IT field.

  • How can I implement IMAQ correlation for 16bit image?

    Hi
    When using IMAQ correlate. vi in Machine vision Filter catergory, the vi only works for 8 bit source and template image case.
    16 bit source image case makes error.
    But I need 16 bit source image without losing image information, I want to use full 16 bit image correlation with 8 bit template.
    How can I implement the code in labview?
    Need help.
    Many thanks.

    Unfortunately you can't do so.
    There are some functions in the Vision Lib that only accept 8bit images. In order to use them you have to convert your image to an 8bit Image.
    Keep in mind that converting an Image to 8bit will not necessary result in a loss of data. Check your Images, it might be that you are not using the full range of a 16bit value. you might be able to use a mixture of dynamic shifting and bit shifting in order to convert an image to an 8 bit, then embedding these criterias in the image and use them to convert back to a 16bit at a later time without losing any data, or in most cases minimal precision loss. 
    If you would like to attach one of the images you are using, I can take a look at it to see if this is possible in your case.
    Good luck,
    Dan,
    www.movimed.com - Custom Imaging Solutions

  • Conditional Operator for else if?

    I used the google compiler on one of my scripts. It worked fine except I am getting hung up on some of the conditional statements it made. Originally I had a series of if else if statements. When changed to Conditional Operator it changes the fuctionality of it. Here we go if anyone can help I will take any tips.
    My version:
    if(myYear.selection.text=="10"){yearSelect=0;}
             else if(myYear.selection.text=="11"){yearSelect=1;}
             else if(myYear.selection.text=="12"){yearSelect=2;}
             else if(myYear.selection.text=="13"){yearSelect=3;}
             else if(myYear.selection.text=="14"){yearSelect=4;}
            else{yearSelect=5;}
    Google version:
    yearSelect="10"==b.selection.text?0:"11"==b.selection.text?1:"12"==b.selection.text?2:"13"==b.selection.text?3:"14"==b.selection.text?4:5,
    Thanks in advance for any advice.
    Brett.

    .. Apart from that, there is no need for your original long list of "if .. else". For a list of possible inputs, you should consider something like this:
    switch(myYear.selection.text)
    case "10": yearSelect=0; break;
    case "11": yearSelect=1; break;
    case "12": yearSelect=2; break;
    case "13": yearSelect=3; break;
    case "14": yearSelect=4; break;
    default: yearSelect=5;
    or, with your input and output, something as simple as
    yearSelect = Number(myYear.selection.text)-10;
    -- but I don't know what your possible range of inputs is. If it's "anything goes", you have to check for a not-in-range and then set it to your default of 5.

Maybe you are looking for

  • Error while importing samples

    Hi, I'm new to oracle bpel process manager 10.1.3.1.0 I have problem in importing a sample demos. Steps I followed: -Start JDeveloper -(with or without first creating a BPEL process project) File > Import > BPEL Process (browse to the .bpel file, cli

  • My iPad reminder no longer works. Please help.

    There is no button for lists, like my iPhone. I have a calendar but cannot type any reminder on it.  I tried Siri, but her reply ended with her being sorry that she is unable to create a reminder..

  • Oracle Workflow Manager, Agent Listener, and Java Mailer problem

    Hi, I am not sure this topic to this forum, since this might be installation issue. But I am hitting a big wall. I had Windows 2000 SP4. I have already installed Oracle Database 10gR1, Oracle Developer 10gR2, and Oracle Workflow 2.6.3 Standalone prev

  • Yahoo Messenger does not work in 1.4

    Several things fixed in 1.4 including clock speed but now my Yahoo messenger will not connect to server.  It just keeps trying to connect ("Signing In...') I also had several sms messages and a voicemail indication not come through until I recycled t

  • Can't see flash drive icon on desktop

    Why doesn't my Sandisk flash drive icon appear on my desktop when I insert it into my USB port? Thanks.