Correlation issue in JMS adapter - SYNC/ASYNC scenario without BPM

Hi,
I am working on a SYNC/ASYNC scenario with JMS adapter without using BPM. My scenario is SOAP<>PI>JMS. I configured the interface as below:
1. SOAP Sender channel
2. JMS Receiver Channel writing to Queue A.
     Module used:      a. RequestOneWayBean
               b. WaitResponseBean
     Correlation Settings:
               a. Set JMS Correlation ID to "XI Message ID"
               b. Store JMS CorrelationID of request (Checked)
               c. Set JMS Property to "JMS Correlation Id"
               d. Value = "XI MEssage ID"
3. JMS Sender channel reading from queue B ( I am exporting the message from queue A and importing into queue B)
     Module used:      a. NotifyResponseBean
     Correlation Settings:
               a. Set XI MEssage Id to "GUID"
               b. Set XI Conversation ID to "Stored JMS COrrelationID of Request"
I can see the cid in the message from queue A. But I observed thhat the header format of the message in Queue A is "MQSTR".
ISSUE:
1. While writing the message to queue A, below adapter log details(part b) concerned me:
     a. Message '8747a7c2-2b06-11df-8055-005056a70ed6' successfully processed by channel
     b. Could not create acknowledgements for message '8747a7c2-2b06-11df-8055-005056a70ed6'
I am not sure why I am receiving the message that "  could not create acknowledgements"
2. While reading the message from the sender channel,I consistently get the error message as below:
     a. XI message ID corresponding to JMS message with ID 'ID:414d51205341504449442e514d202020c67b954b20005602'
          will be created as a new GUID with value '21bca916-424f-41f6-3347-c71090392b58'
     b. Error while processing message '21bca916-424f-41f6-3347-c71090392b58';  detailed error description:
          com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
          found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
Below are the blogs which I have already gone through:
1. JMS Synchronous Scenario without BPM - Correlation Settings and Transactional JMS Session
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b028f6f6-7da5-2a10-19bd-cf322cf5ae7b
2. Note: 1086303
3. Sync / Async Bridge without BPM
In the note, they mentioned something about header being "MQRFH2". BUt in our case, the header is "MSSTR". Not sure whether it makes any difference.
Please help.
Edited by: GP on Mar 9, 2010 4:24 AM

Hi,
detailed error description:
com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
This error would generally arose when there are multiple messages, got stuck in the outbound queue. Try to stop both the sender and receiver JMS comunication channels and clear both the inbound and outbound queues.
Once all the messages in the queue are cleraed, try posting the message again.
Regards,
Swetha.

Similar Messages

  • Sync / Async Bridge without BPM

    Hi All,
    I was trying to implement the Sync / Async Bridge without the BPM. I am trying a HTTP to JMS Sync / Async Bridge. I have followed the following link and done exactly the same as shown in the document
    http://help.sap.com/saphelp_nw04/helpdata/EN/45/20d2b4c20a0732e10000000a155369/content.htm
    I have used a Java application which will poll the request queue and then place the message in the response queue with the same correlation ID frm the request queue.
    After following the above link the response message was not appearing, the message were going to deilvering status and after some time i found that they were cancelled without errors
    I searched in the forums for many solutions but what i found was this thread which stated that since the XI message ID is 32 bytes and Correlation ID is only 24 bytes its difficult for Modules to identify the response since the correlation is truncated.
    JMS: Synch/Async bridge - how to configure
    I tried changing the configuration in the reciver JMS channel to XI Conversion ID instead of Message ID and this also doesnt give me fruitfull results. The message was not being placed in the request queue, it gave an error saying that the conversion id was null. Though in the thread it seems to have worked for him.
    After this i planned to dynamically generate a Correlation ID (a dummy one) of 24bytes and i sent it to the request queue this time the message was retrived from the response queue only to find that the correlation ID this time has been converted to some other format
    Corrletion ID sent to the request queue: ABCDEFGHIJKLMNOPQRSTUVWX
    Corrlation ID coming in the response queue : 4142434445464748494a4b4c4d4e4f505152535455565758
    Can anyone put some light on what i exactly need to do or tell me why the conversion ID worked for Daneil in the thread and it gave me an error saying that the Conversion id is null
    Rgds
    Aditya

    Hi Prateek,
    This is what was tried in my first case. I did exactly what was given in that link.But since the Message id being 32 bytes and length of correlation id is 24 bytes id is getting truncated.
    So its not working fine.
    @ke i am having a look at the note will update you on this
    Thanks for your response
    Rgds
    Aditya

  • Async-Sync-Async Bridge Without BPM

    HI Folks,
    I have a requirement as
    u201CAn Asynchronous SOAP request is triggered to PI and then should get records from a (JDBC)database and write the result to a fileu201D
    It is of Aync-Sync-Async Bridge and i have to do without BPM
    I know by using some module parameters at sender communication channel we can do this.
    But my query
    1)Is that for SOAP sender communication channel can we provide the same module parameters
    Number - ModuleName - Type - ModuleKey
    1- AF_Modules/RequestResponseBean - Local Enterprise Bean - 1
    2- CallSapAdapter-Local Enterprise Bean - 2
    3-AF_Modules/ResponseOnewayBean-3
    Parameters
    ModuleKey - ParameterName - ParameterValue
    1 - passThrough - true
    3-receiverChannel - Receiver File Adapter Name
    3-receiverService - Receiver Business Service/ System
    2) Does the SOAP support the without BPM scenarios
    3)Scenario is like Soap --> JDBC -->File (Async - Sync - Async) and how abt for Soap --> RFC -->File (Async - Sync - Async)
    Thanks in Advance
    Lemon

    For your requirement , you can handle this scenario without BPM in two ways.
    1) Async sync bridge without BPM.   You are going to use request response bean and one way response bean module to achieve this. very simple. See this [link|http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File(Without%20BPM)]
    In the sender SOAP channel you have to configure first request response bean, second callsapadapter and third onewayresponse bean. Refer this link. Simply follow file sender configuration for your soap sender or RFC sender.
    Note: one receiver agreement , one receiver determination, one interface determination. only two receiver channels one jdbc and one file.
    2) You can create SOAP  to File asynchronous.  Using quality of service  EO and creating service interface asynchronous mode.   In the mapping area do JDBC lookup.  If your version is 7.1 then this lookup is available. This is pretty simple no need to do async to sync pattern.
    Hope that helps.

  • Error status in JMS adapter - sync / async brigde. Message processed ok

    Hi guys
    I'm having som trouble with my scenarion. I'm sending sync message from SAP backend to XI using proxy. From XI onwards to JMS adapter async (and the other way around for the response message).
    This works OK. However i have a status error in my RWB on the JMS adapter. There is er red exclamation mark and a text saying:
    Correlation ID 'XXX' of JMS request message 'ID:yyy' saved that correponds to XI message 'XXX'
    How do I get my adapters in status green?
    Kind regards
    Martin

    Hi Kai
    Oh - OK
    Settings are:
    Receiver JMS channel:
    Set JMSCorrelation to: XI Message ID (MessageID)
    Store JMS CorrelationId of request: Mark
    Sender JMS channel:
    Set XI Message ID (MessageID) to: GUID (Recommended Value)
    Set XI Conversation ID (ConversationID) To: Stored JMS CorrelationId of Request.
    Kind regards
    Martin

  • PL_TIMEOUT in Sync Async scenario using BPM

    Hello:
    We sporadically get PL_TIMEOUT error in a S/A scenario. Every time the error occurs when it is trying to close the Synch Asynch bridge in the BPM. The BPM is extremely simple but it often runs for a long time (5-8 minutes) esp in the close S/A bridge step. The timeout parameters are set as follows
    TIMEOUT=60 sec
    PROCTIMEOUT=900 sec
    CHECK_FOR_ASYNC_RESPONSE_TIMEOUT=500 sec (increased this from the default 60 sec recently)
    Would increasing TIMEOUT or CHECK_FOR_ASYNC_RESPONSE_TIMEOUT parameters help?
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">PL_TIMEOUT</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Timeout condition of pipeline reached</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>

    Hi venkat,
    These Threads will help you.
    "PL_TIMEOUT" error
    Help on PL_TIMEOUT error in BPM
    Reward points if usefull...

  • File sender adapter:FILE to IDOC without BPM, can't see in SXMB_MONI.

    Hi all
    I have a FILE - XI - IDOC Async scenario without BPM.
    I configured FILE sender adapter and IDOC receiver adapter. I made a mapping to transfer file data to the structure of IDOC.
    Now when i am trying to load the file using command prompt, i cud see nothing in the monitoring. Whereas if i go to the communication channel monitoring of runtime workbench, i saw that CC is polling correctly and was reading the file also.
    And also wen i saw in the processed folder which i mentioned in the CC configuration for the ARCHIVE DIRECTORY, i saw that file got transferred to the folder also.
    I don't understand why i cant see anything in the monitoring.
    Could anybody help me to rectify the problem. Is there anything i m missing ?
    Regards
    Naina

    Rajesh/Amar
    TCode:: SXMB_ADM->Integration engine configuration->specific configuration->runtime
    Trace_Level = 3 then you can get all MONI PIPELINE Steps also
    I did this change but cudn't see anything in SXMB_MONI.
    This is how i have configured my process:
    http://wiki.sdn.sap.com/wiki/display/XI/FiletoMultipleIDOCSplittingwithoutBPM
    But instead of IDOC splitting i have simple FILE - XI -IDOC scenario.
    I have configured everything exaclty the same way it is mentioned here. But for me the process is not visible at all.
    I can't even see the first request message in the monitoring.
    This is the message i can see in the communication channel monitoring:
    2010-05-24 09:07:41 Success Channel CC_*: Entire file content converted to XML format
    2010-05-24 09:07:41 Warning Channel CC_*: Empty document found. Proceed without sending message
    2010-05-24 09:07:41 Success File "/xyz/ABC.txt" archived after processing
    Is there any problem with the file and that could be the reason it cant convert the file to the request message MT_REQUEST and thus am not able to see anything in monitoring.
    help me guys....this is a simple process and i m stuck...its frustrating
    Regards
    Naina

  • Jms settings & correlation settings in jms adapter

    hi experts,
      what is use of jms setting & correlation settings  in jms adapter.

    Hi,
    This link may help you..
    http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/frameset.htm
    Regards,
    Srinivas

  • Jms settings and correlation settings in jms adapter

    hi expects,
       what is use of jms settings and correlation settings in jms adapter.

    Hi Rohit,
    have a look at thsi article to understand jms correlation:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Regards,
    michal

  • Sync/Async Bridge without Asynchronous Send / Receive Steps

    Hello together,
    we have a synchronous HTTP <--> RFC Scenario using a sync/async Bridge in BPM with the following characteristics:
    1. HTTP Payload is received (opens Sync/Async bridge)
    2.  lookup is done in an LDAP System (we use an UDF here)
    3. Customzied JCo is called which takes the XML String as input parameter (done by Java Mapping)
    4. Return Value of JCo then is delivered back to HTTP Client (closes Sync/Async Bridge)
    --> No RFC Adapter is used here as the provided JCo does all the parsing
    When testing the sync/async bridge is started but we receive an timeout after 30 sec.
    Could it be that the sync/async required exactly a pair of async send and receive steps (which we do not have in our scenario and which we do not need)?
    This would be a problem, as we have to use BPM in this synchronous scenario. Do you have any idea?
    Thank you very much for your help.

    Thank you for your reply, but I think you misunderstood me. Please let me try to clarify once more:
    1. Synchronous HTTP Sender Interface (Request/Response) opens Sync/Async Bridge
    2. LDAP Lookup is done by UDF using the Request Message in Transformation Step
    3. Switch is done based on result of Lookup
    4. Branch 1 in switch calls customized JCo with Java Mapping in Transformation Step (Request Message as input, Response message as output)
    5. Response message (delivered from JCo Call) should close the Async/Sync Bridge and be send back to HTTP Sender
    --> We have no async send / receive steps in this scenario.
    The customized Jco has been provided by an external partner as there is lots of parsing logic implemented. So we want to connect to the backend SAP system using this JCo and not via a  send step.
    My key qestion is therefore: Is it absolutely necessary to use exactly a pair of async send / receive steps in a sync/async bridge?
    In this case we have to look for another design concept without BPM which would make the solution very difficult I think....

  • Doubt on Sync-Async  bridge using BPM

    Hi Experts,
                     I had a doubt on Sync-Async  bridge using BPM,
       1. If sender system is SAP system and receiver system is non-sap system then while configuring in Integration Directory how many  Receiver Determinations should be done ?
    2.Plz explain if we have 2 receivers i.e one sender SAP system and 2 non-sap systems then what will be the no. of receiver determinations?
    3.How we have to count no. of receiver determinations if we have 2 receivers and 1 receiver system? If so what is the no. of receiver determinations in case of 1 receiver syst and 2 receiver systems?
    Plz clarify above questions  good answers will be definetly rewarded.
                                                                                    Regards,
                                                                                    Vinod.

    vinod,
    ... Sync-Async bridge and Recievr determination are not related....
    Sync-Async bridge means.. u r sending some request syncronously...and u r expecting the response also in synchronous way... but u r not getting the response  directly...u r getting it via BPM..i.e asynchornously.....
    see here what is the  Use of Synch - Asynch bridge in ccBPM
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
    and here if u have 2 reciver... u have to create 2 receiver determination and ofcourse for BPM one reciver dtrmination is required.... since in BPM related scenario BPM will act as a reciver...BPM(IP) wil first recive the message then it will be forwarded to Receiver system!!! so total 3.
    <b>3.How we have to count no. of receiver determinations if we have 2 receivers and 1 receiver system? If so what is the no. of receiver determinations in case of 1 receiver syst and 2 receiver systems?</b>
    r u telling that u r having two recivers and each receiver is receiving messages using 2 interaces???
    u have 2 use 2 receiver determination and 4 interface determination.
    regards
    biplab

  • Error handling in File - XI - SOAP scenario without BPM

    Hello!
    We have a File -> XI -> SOAP scenario without BPM. The problem is that if the Web Service sends back an error XI tries to reprocess the same message again and again instead of taking the next one.
    We do not want set the retry interval to NULL because most error cases are temporary connection problems and then also those messages would not automatically be reprocessed any more.
    We also have to use BE instead of EO, otherwise the Web Service will not return a response. But we need the response to be sure that the processing was successful. The message volume in this scenario is quite high and we do not want to use BPM only for the error handling.
    I know that from SP19 some additional adapter modules are available for async - sync scenarios without BPM. I tried to configure it like described in File - RFC - File without a BPM - Possible from SP 19. but it did not solve the problem. Does anybody have any other ideas? Thanks.
    Regards, Tanja

    Hi Tanja,
    >>>The volume is 3000 messages/day on business days and 700 messages/day during weekends but the traffic will increase in the future
    I think, you should check that out. It is assumedly only 2 days work to build a scenario:
    IDoc -> BP
    BP <-> SOAP/HTTP
    BP -> IDoc (Acknowledgement)
    In the process you need a condition branch, where you decide success or not. You need 2 Interface Mappings for filling the ALEAUD.
    Just send 1000 IDocs to the Test-XI and look to performance monitoring at Runtime Workbench, to find out, how many message will be processed in one hour. Assumedly 3000 and more per day should be possible. The advantage would be to reduce number of systems (no file system) and messages (better monitoring) and using the standard (better maintenance).
    >>>So you are suggesting I should use HTTP adapter and then add the SOAP header manually in a mapping?
    Yes, build the SOAP envelop during the mapping. Most easy is to use XSL or, if your mapping is ready, an additionsal XSL. You can put the error into the Acknowledgement to see it in ERP transaction WE02.
    Filling of ALEAUD fields:
    E1ADHDR/MESTYP: original message type
    E1ADHDR/E1STATE/DOCNUM: original IDoc number
    E1ADHDR/E1STATE/STATUS: 68 in case of error, 53 in case of success
    E1ADHDR/E1STATE/STATXT: Short description for R/3 user what has happend
    I ve done such a scenario several times. That works without any problems.
    Regards,
    Udo

  • SOAP to IDoc scenario without BPM

    Hi,
    I have 2 scenario's
    1) IDoc-SOAP - -response -- IDoc scenario -- (have found some links  to do it without BPM)
    2) SOAP -- RFC request -- RFC response -- e-mail (no links found)
    how can i achive both these scenario's without BPM. Currently i have these 2 scenarios in our 7.1 version with BPM. but our requirement is to migrate this scenario into 7.4 without BPM(No PO).
    please help us to achive this scenario without BPM.
    Your help is highly appreciated.
    thanks,
    Praveen

    Hi Kiran,
    Could you please let us know the exact requirement. How do you want to send the response back to IDOC?
    ASync - Sync Bridge with IDOC sender is not possible in PI 7.0.
    If It is something like IDOC --> SOAP --> IDOC , And If the SOAP request is small then you can use SOAP Lookup in IDOC to IDOC Scenario.
    In The mapping You can do a lookup and get the response from SOAP(Webservice) and map that to your Target IDOC.
    This is one possible way for you without BPM in PI7.0.
    Please let me know if you need more details about this.
    Thanks
    Jyothi A

  • Synch-asynch scenario without bpm's?

    Synch-asynch scenario without bpmu2019s can any one help me how to configure this scenario without bpms?

    hi ferocious,
    That is possible with standard functions and standard module beans.
    Possiable1:
    From pi 7.1 v ,  sap provided standard functions like RFC and jdbc of the conversion function group.
    Possiable2:
    sap provided Standard module beans those are RequestResopnceBean and OnewayResponceBean.
    thanks,
    bhavanisankar.

  • SOAP to JMS using Sync/Async bridge - configuration confirmation needed

    Hi group,
    Since I'm experincing error in a scenario using sync/async bridge in jms adapter I really would like a confirmation on my configuration.
    For a simple SOAP to JMS scenario is it then correct that all I need is;
    1) 2 synchronous message interfaces, 1 inbound and 1 outbound
    2) 1 Receiver determination
    3) 1 Interface determination
    4) 1 Receiver agreement (JMS adapter with module configuration)
    5) 2 Sender agreements (in my case 1 soap and 1 JMS adapter - the later with module configuration).
    6) The sender and receiver JMS adapters point to different MQ queues (request and response queues)
    7) The sender agreement for the JMS adapter uses my synchronous, inbound message interface (isn't this really just a "dummy" to actually fetch data from response queue - meaning that the actual utilized business system/service, MI and namespace are unimportant, since the module will make the adapter notify the listening module in the receiver JMS adapter?)
    Best Regards,
    Daniel

    Hi, thanks for your reply.
    I'm familiar with the links provided. I believe everything is configured as it should be, but since I get error I would like to have my configuration confirmed. Neither the weblog (or SAP guide) are detailed enough to convince me 100% that my configuration is correct. Surely the problem could be on the MQ side, but before going into that, I want to be sure that its not on XI-side.
    So I really would like confirmation on the steps/question that I wrote:-)
    Best Regards,
    Daniel

  • How to capture SOAPFault in an Async/Sync Scenario without BPM

    Hello friends,
    My scenario is ECC (async) to SOAP (sync) and back to ECC (async = ALEAUD). I'm using aync/sync bridge is receiver SOAP adapter.
    My scenario works fine with a normal response but when I get a SOAPFault as a response I get the following error in de receiver SOAP adapter:
    Message processing failed. Cause:
    com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the message's header fields (sender party: "", sender service: "NONSAP", interface: "urn:test,  SII_Test_Sync", receiver party: "", receiver service: "BS_ECC")
    The configuration of my receiver SOAP adapter looks like this:
    Did I use parameters interfaceOnFault and interfaceNamespaceOnFault correctly?
    Your help is greatly appreciated,
    Kind regards,
    John

    Hi Nilesh,
    sorry for the delay. What I found every time i used the option "DO NOT use SOAP envelope is checked" is that the envelope is removed from request and response/fault messages as well. To solve those kind of errors I developed a module called ReplaceString. What this module does is to replace a string with another one passed as parameter. What do I archive with this? Well I sometimes use this module to include some parts in the xml message before it gets in PI. For example, lets say you receive something like this:
    <FaultMessage>
    <standard>
         <faultText>
         <faultUrl>
         <faultDetail>
              <severity>High</severity>
              <text>This is an error</text>
              <url></url>
              <id></id>
         </faultDetail>
    </standard>
    </FaultMessage>
    and you are expecting something like this:
    <soap:Envelope
    xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
    soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
    <FaultMessage>
    <standard>
         <faultText>
         <faultUrl>
         <faultDetail>
              <severity>High</severity>
              <text>This is an error</text>
              <url></url>
              <id></id>
         </faultDetail>
    </standard>
    </FaultMessage>
    </soap:Envelope>
    You could use this module to replace the following strings:
    <FaultMessage>
    by
    <soap:Envelope
    xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
    soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><FaultMessage>
    And
    </FaultMessage>
    by
    </FaultMessage></soap:Envelope>
    If you find it useful, I can paste the code of the module here.
    Regards!

Maybe you are looking for