Scenario jms synchronous

Hi everyboy,
The scenario is: R3 -->XI (JMS) ---> MQ -
> XI (JMS) ---> R3
I have a scenario with jms synchronous. I created a correlation to take the correct message from MQSeries. But the correlations works wrong.
I think the instance process doesn't know if it is responsible for the message that MQ return. The correlations is the problem.
Anybody can say me how to correlate jms adapter correctly?
Have anybody got a good manual?
My e-mail is: [email protected]
Thanks for advance.

Paloma,
I am using XI 3.0 with SP16 and revisited the document <b>How To...Correlate JMS Messages</b> to confirm
3. The Step-By-Step Solution
3.1 BPM Header-Based …
Followed the Design steps 1 - 5
Followed the Config steps
6. FYI - the JMS-Compliant option is set to JMS-Compliant
7. FYI - the JMS-Compliant option is set to WebSphereMQ (non-JMS)
<b>Difference</b> - I have used the Correlation Setting Stored JMSCorrelationId of request
I have provided a sample and some mapping logic for the application that processes the MQ queue
<b>Request – note the MessageId and ConversationId</b>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Response -->
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
<SOAP:Header>
<SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
<SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
<SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
<SAP:MessageId>A4869D70-A593-F94A-9716-4353769D5C0C</SAP:MessageId>
<SAP:ConversationId>6195CFF0-9ECB-11DC-A178-000347055950</SAP:ConversationId>
<SAP:TimeSent>2007-11-29T22:35:26Z</SAP:TimeSent>
<SAP:Sender>
a) XI puts the JMS request message on the MQ request queue
b) An application reads the request from the MQ request queue and needs to save JMS message id from the MQMD field MsgId
c) The application then does some action(s)
d) The application then generates a response message.  To correlate this response message back to XI, Adaptris will need to copy the JMS message id from the MQMD field MsgId (saved from the request message) into the MQMD field CorrelId of the response message and then write the message to the MQ response queue
e) XI reads the JMS response message from the MQ response queue
<b>Response – note the MessageId is different but the ConversationId is the same</b>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Response -->
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
<SOAP:Header>
<SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
<SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
<SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
<SAP:MessageId>6C5E95C0-9ECB-11DC-A679-000347055950</SAP:MessageId>
<SAP:ConversationId>6195CFF0-9ECB-11DC-A178-000347055950</SAP:ConversationId>
<SAP:TimeSent>2007-11-29T22:35:44Z</SAP:TimeSent>
<SAP:Sender>
Regards,
Mike

Similar Messages

  • How to implement this Scenario(JMS to IDOC)

    Hi Frnds,
    I am working on one scenario JMS to IDOC .based on JMS Message my XSLT Mapping will genarate Multiple Idocs(max 3) or 2 or one.
       I have to send this IDOCS based on some conditions,the conditions mentioned below.
    xslt mapping genarats one message ,but this contains 3 IDOCS or 2 or 1.(Order Create , Order Change and Order Response),
    what is the best approach to implement this scenario
    1)f Order Create  segment exists (new PO), first check SAP to see if PO does actually exist using RFC Z_BBPR46_GET_PO_FROM_FPA ,If it does not exist, pass Order Create idoc to SAP to create new purchase order
    If it does exist, retrieve PO details from RFC and pass Order Change idoc to SAP to update existing purchase order
    2)If Order Change segment exists (change PO), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Change idoc to SAP to update existing purchase order
    3)If Order Response segment exists (goods movement), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Response idoc to SAP to create goods movement.
    Above logic i implemented in one mesage mapping Source is XSLT Mapping Output and Receiver message in message mapping is Multimapping selected 3 IDOCS.
    Regards,
    raj

    thanks

  • Sender JMS Synchronous communication channel not picking up files from JMS

    Hello,
    One of our Sender JMS synchronous communication channel (used Sync/Async bridge in the module section to make it Synchronous) is not picking up files from JMS system though the channel looks to be active (greeen).
    When I am trying to stop the channel, it is giving error as "1 of 1 administered and selected channels have not been stopped", and after this when I start the cannel again it shows green but not picking up any files.
    if anyone is haivng any solution for this, please reply back.
    Thanks in advance.

    Messages available in JMS system? please check queue's if message were there and it is not picking up then some thing wrong with cc.
    simple solution create new communication channel with same details and try to use the same.

  • Complex scenario JMS(multiple)-PI-IDOC( multiple)

    Hi,
    My scenario is JMS-XI-IDOC.
    We have 10 legacy systems and one MQ-Series Queue for each system is setup.
    Each legacy system will send multiple types of data to its respective queue. (i.e. single queue for multiple types of data).
    XI side I am configuring 10 sender JMS adapters to pick from these 10 Queues.
    I have 3 types of IDOCu2019s which I imported to XI.
    Depending on the content of the data ( may be first two characters) XI need to map the data to respective IDOC and post it to R/3.
    How to achieve this????? Can we do this without BPM?

    My issue is not only dynamic interface determination.
    As each queue will have different transactions , so the structure for each transaction will be different.
    how to do dynamic sender aegrement.
    Is it possible in XI.
    I am planningto read everything into a string and then map to the different structures. Is it advisable.
    I am torally confused with this scenario.
    Please suggest the correct method.

  • Creating Process Integration Scenario with synchronous connections

    Hi,
    I'm trying to create a process integration scenario in which the first step is a synchronous call by a B2B supplier to a webservice hosted on PI ccBPM.
    Step1) I have created two swim lanes:
    Lane1: Supplier.
    Lane2: PI ccBPM.
    Step2) I've created an outbound synchronous interfaces for the supplier and an inbound synchronous interface for the ccBPM. I assigned these to two actions.
    Action1: Supplier_Send(OutboundSync)
    Action2: PI_Receive(InboundSync).
    Step3) Assign the actions to the swim lanes.
    Lane1 -> Action1
    Lane2 -> Action2
    Step4) Connect Action1 and Action2. At this step, the connection is shown as asynchronous. Since both the actions are synchronous, this is clearly incorrect.
    Can someone please help?
    Thanks,
    Harsh

    > Connect Action1 and Action2. At this step, the connection is shown as asynchronous. Since both the actions are synchronous, this is clearly incorrect.
    Put actions on same level.
    Connections are sync, when actions are on same level and async, when actions are on different levels.

  • Scenario: JMS to EJB

    Hi guys,
    well i have an IBM-Frame in where i gonna get a queue. This data should be transfered to an EJB which will do the logic (logging, calculating etc.)
    Getting the data from the IBM i gonna use JMS-Adapter.
    I would like to know how i can call this EJB via Adapter-Framework. Which adapter do i have to take and how do i configure this one?
    Additional: The EJB is deployed on another Web AS.
    br Jens

    Hi Jens
    have  a look
    /people/ekaterina.anachkova/blog/2007/02/05/using-jms-resources-in-java-ee-applications-ejb-mdb-servlets-jsps-etc
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
    How do you read content from XI to JMS Receiver Adapter
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c5fa5a1b-0c01-0010-9aab-fa205c31e62f
    http://help.sap.com/saphelp_nw04/helpdata/en/a3/63af1bbf09469fa1615c05f0daff6f/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/90/57849e5e3e45d784afc4e3bfa8136f/frameset.htm
    Pls see :
    http://help.sap.com/saphelp_webas630/helpdata/en/e8/48ef3d5e10af5ee10000000a114084/frameset.htm
    Problem with JMS ConnectionFactory on WAS
    Thanks !!

  • JMS Message Expiry Period (msecs) in Synchronous JMS scenario

    Hi,
    I've configured a Proxy->JMS synchronous scenario using Sync/Async Bridges in the Receiver JMS adapter.  All is well when the reply queue is working but when the reply queue is down, the waiting time in the JMS receiver adapter is too long.  It can be up to a minute or more.  We want to shorten the wait time for the reply.  On the receiver adapter, I've tried using 'JMS Message Expiry Period (msecs)' in the JMS setting but it doesn't seem to have any effect.  Then I tried switching on the 'JMS Message Expiration' under Adapter-Specific Mesage Attribute.  However I get the following error:
    Dynamic record/records: DCJMSExpiration,DCJMSTimestamp, that correspond to the JMS property/properties: JMSExpiration,JMSTimestamp, respectively is/are either missing from the message: deacb6f9-56e0-3bf1-af90-00145e6880b6, or have invalid types specified in the channel configuration
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Dynamic header records are missing/incorrect specified in message: deacb6f9-56e0-3bf1-af90-00145e6880b6. Erroneous/Unspecified headers are:[ DCJMSExpiration DCJMSTimestamp ]
    Any one has an idea?  Thanks in advance.

    Hi,
    When queue down normally JMS Receiver Communication channel tries 3 times to send message to Queue,when it tries 3 times the retrievel time its not possible to predict,may be you need to chnage the setting at basis level for retry interval.
    check with basis team.
    Regards,
    Raj

  • 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.

  • Request and Response Scenario for JMS adapter

    Hi,
    I am working on IDOC-XI-JMS, JMS(sender)- XI - JMS (receiver)scenario and this is going to be real time. If any record is update in customer master then that record will be sent to JMS provider MQ series and lock the record in the legacy system and then legacy system unlock and send back a message that this has been unlocked.
    This would be request response message, anyone tell me how this can be achived. I think I may have to use BPM for this kind of processing. Can anyone tell me the steps to achive the BPM for such processing.
    Regards
    Please reply back
    Edited by: hema Mehta  on May 23, 2008 2:05 AM

    Hi Hema,
    Reward points if this helps
    Step by Step Porcess of JMS Synchronous Scenario without BPM: Correlation Settings and Transactional JMS Session
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b028f6f6-7da5-2a10-19bd-cf322cf5ae7b
    How To Correlate JMS Messages
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8060448a-e56e-2910-f588-9af459e7ce21
    Async/Sync Communication using JMS adapter without BPM
    /people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
    STEPS in BPM for synchornous.
    Reward points if this helps
    Regards
    Pragathi.

  • Synchronous sender JMS adapter

    Hi ,
    I need to do a synchronous scenario : JMS - PI - Proxy
    can sender jms adapter be synchronous ?
    Thnx

    Hi,
    can sender jms adapter be synchronous ?
    JMS supports asynchronous communication only. However, a request/response model similar to synchronous communication can be implemented using a reply queue mechanism and JMS Correlation ID/JMS Message ID.
    Search on SDN / SAP Help, there are plenty of documents related to this.
    Regards,
    Neetesh

  • Error in synchronous( abap proxy to soap)scenario

    Hi experts,
    My scenario is synchronous abap proxy to sysnchronous soap. for proxy I am using business system name as ERDCLNT220 and soap business system name as BS_HRS_DEV
    configuration steps are
    1. only client proxy to soap scenario I have done.
    communication channels: only receiver soap adapter. no proxy sender communication channel for client proxy.
    Already we have RFC destination connection and connection type H for proxy to xi.
    1.Is it required RFC destination connection for xi to server proxy.
    2.Is it required receiver proxy communication channel for server proxy?.
    i HAVE TESTED THIS INTERFACE. I am able to send the request. But I am not able to receive the response from soap webservice message .
    error is:
    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    Error Adapter Framework caught exception: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson
    Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Exception occurred while trying to invoke service method getPerson. Setting message to status failed.
    Kindly help me.
    advance thanks
    thanks and regards
    elton
    Edited by: eltonsaranya on May 9, 2011 10:27 AM

    Your exception message shows problem at the webservice side.
    Check the following:
    a) you need two mappings one for proxy req to soap request and other soap response to proxy response
    b) You need to create service interfaces both sender and receiver synchronous .
    c) communication channel  QOS is best effort for both sender and receiver
    d) I dont see problem in soap configuration. Bcuz you are able to ping and while getting response from the method getPerson it fails.
    f) See your SOAP response structure matches with WSDL provided.
    g) You can also test outside PI.. I meant testing via soap client tool like SOAPUI  for that web service. So that you know whether problem exists on the target system or not.
    Hope that helps.

  • JMS - PI - IDoc scenario: possible to disable check for duplicate JMS message ID?

    Dear all,
    we have a scenario JMS - PI - IDoc. We are on 7.4 SP 7 AEX.
    Once and again we get this error in PI Logs
    com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(MessageFilterContext filterCtx)
    Duplicated and already processed JMS message with JMSMessageID ID:414d512053415050523120202020202053f0f4852000fb39 and XI message id b0beffdbcee64c2605779eaacf27b335 detected.
    We are currently investigating the error and it seems that the duplicate message IDs already exist on the JMS (MQ) side. The messages with the same ID reside in the same queue but have different payloads, so really are different messages
    While it's certainly true that we need to get rid of those duplicate IDs in the long run, I'd like to ask if it is possible to tackle the problem from both sides.
    My sender JMS Adapter looks like this:
    Transactional JMS Session = Checked
    Set PI Message ID (MessageID) to = GUID
    Set PI conversation ID (ConversationID) to = No Value
    Enable Duplicate Handling = Unchecked
    Prefix Channel ID = Unchecked
    --> Is there any way to tell PI to just ignore the duplicate JMS ID and continue processing?
    Many thanks
    Kind regards
    Jens

    Hi Jens - Please have a look at the below note if it helps.
    If you want the duplicate messages received from different channels (that is JMS Messages with the same Message ID) to be processed as a distinct JMS messages and not as duplicate messages, select Prefix Channel ID to JMS Message ID
    Reference :
    Configuring the Sender JMS Adapter - Advanced Adapter Engine - SAP Library

  • Werb services to proxy- synchronous scenario

    Hi experts,
       Can anyone help me with the detailed scenario of  synchronous WEB SERVICES TO PROXY step by step. I tried searching in sdn but  no luck.
    Also tell me  here that XI will expose the Outbound Interfaces as a Web Service Interface.  how the  Web Service Description (WSDL File) will be generated for the Interfaces in Integration directory?
    Also mapping is not required here.
    Thanks
    Veeru

    what types of business systems have to create for this webservices to proxy kind of scenario
    you dont need multiple business systems....just create one business system in SLD and then import it into ID.
    Assign the inbound message interface to this business system and configure your scenario.
    Check if a Business System already exists for this SAP system....if there is another Proxy/ IDOC/ RFC scenario developed for this SAP system then there should be a Business System created...just re-use the same.
    If you need help on how to create SLD then just make a simple search on SDN.....you will find good blogs/ documents.
    On the Sender side (WS) you need to create Business Service in ID.
    Regards,
    Abhishek.

  • Hwo to do scenario with multiple queues in jms sender

    Hi users,
    In my scenario jms to idoc i have requirement from two diffrerent queues  i need to pick the data.
    if its two sender communication channels then how to create two sender agreements?
    please help out to me
    Regards

    Hi,
    Use same Queue for same kind of data
    OR
    Create multiple sender agreement by checking the "Sender uses virtual receiver" Option

  • Implementing synchronous request/response for an asynchronous service (JMS)

    Hi,
              <br>I've to consume soap/jms service from an external application.
              <br>The requirement is to consume it synchronous, meaning, the thread should wait for response.
              <br>
              I.e :
              <p>
              <i>void service(){
              <br> String id = generateCorrelationID();
              <br> Message msg = createRequest(id,...);
              <br> // send the message to the request queue
              <br> sendMesageToRequestQueue(msg);
              <br> Message responseMsg = null;
              <br> // search for the response, if is not found suspend the thread, then search again ...
              <br> do {
              <br> responseMsg = searchMessageInResponseQueue(id);
              <br> if(responseMsg == null) {
              <br> <Thread>.sleep(xxx)
              <br> }
              <br> } while (<messageIsNotFound>)
              <br> }</i>
              <p>
              <br>my application is J2EE 1.3.
              <br>Is it reasonable? am I going to face with deadlocks? locking issues? ...
              <p>
              Thanks,

    Assuming synchronous receipt is absolutely necessary, I would rather use JMS synchronous call with timeout on QueueReceiver to receive message rather than spinning in a loop.
              receive(long timeout)

Maybe you are looking for

  • File to Idoc Scenario. Pls advice

    Hi All, I have implemented File to Idoc Scenario and it worked fine. I have 2 doubts: My Scenario: File -- XI -- R/3 system named D01 1. In Configuration: In Receiver Aggrement why we put       XI Business System name in Sender Service? 2. In Configu

  • Publisher editor issue

    Hi, If a try to add a link like this: http://portal.myorg.edu/portal/server.pt?open=512... using the publisher editor, and save it, the link is Ok. If I reopen the editor, the link is changed to "/server.pt?open=512..." which is pointing to the conte

  • ITunes 9 keeps crashing when trying to play a song

    My iTunes (with the newest update) crashes not everytime I play a song but it does crash alot. I'll click a song to play and then nothing will happen and all the words will change into just black lines. Also all of the things on the genius sidebar wi

  • Why does Adobe's customer support suck!

    Adobe seems to be playing a shell game of hide the nut. I signed up for the $9.99 photographers creative cloud-LR,PS and they billed my CC for $82.30. Some how I got switched to the "full suite." But now I don't want to deal with them at all because

  • Can`t make it start, continuously flashing led

    Hi, I have a Power Mac g5 2.0ghz with 4 memory slots. Sudenly I can`t make it start. I get continuosly flashing led without hearing the start bep. I try: 1) changing the ram 2) changing video card 3) reset PRAM 4) reset SMC 5) cleaning the Ram with r