Re-processing failed messages in queue automatically

Hi,
While executing messages via PI to external system, sometimes the messages stucked in inbound queue with status "SYSFAIL" with status text "Command to tRFC/qRFC: Execute LUW again" (communication problem). The only way to execute LUW again is via DEBUG mode (F8). After using F8 the message runs and the queue released until the next time.
How can I execute those messages with F6 (Execute LUW) or by any scheduling program (preferability to scheduling program)?
Regards,
Gil

Hi Gigi,
As stated in one of the blog (/people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically):
For automatic qRfc failure recovery, Schedule the report RSQIWKEX to run periodically. This report enables automatically resets the queues.
Also, refer the following threads for more information on this topic:
Re-Process failed XI Messages Automatically
/people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm

Similar Messages

  • Re-Process failed XI Messages Automatically

    If there is any other blog other than 2728 that talks about how to re-process XI Messages?
    On What Cirumstances we need to Reprocess a Message?

    Hi Rohini,
    >><i>On What Cirumstances we need to Reprocess a Message?</i>
    Reprocessing messages is a decision taken based on the business need. For ex:-If there is a system/mapping error and a message does not get processed because of this, you'l probably want to reprocess the failed message because it has to reach the target system nevertheless! or maybe due to this message the flow for another message is not blocked...depends upon how important the message is for the continuation of the interface flow and the client..
    >><i>If there is any other blog other than 2728 that talks about how to re-process XI Messages?</i>
    Here is one more by Krishna Moorthy:-
    /people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm
    Regards,
    Sushumna

  • Deleting error messages from EOIO Queue Automatically at run time

    Hi Experts,
                      I am sending data from proxy to database. In case of error message i want that mesage to be cancelled at the run time and the remaining messages in queue should be  processed, whether the error is in Integration engine or adapter engine. Please suggest me how to cancel the error or failed messages automatically (Alert has to be raised for the failed messages) so that my queue is processed successfuly
    and failed messages can be sent manually.
    Thanks
    Ajay Garg

    Hi,
    for creating and sending Alert check the links.
    Alert Configuration
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    Alert Inbox
    http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm
    Alert Notification Step-by-Step
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Defining Alert Classifications
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Triggering Alerts
    http://help.sap.com/saphelp_nw04/helpdata/en/49/cbfb40f17af66fe10000000a1550b0/frameset.htm
    Setting up alerts
    Setting up alerts in RZ20
    Alert Management
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e04141e8-0f11-2a10-adaa-9d97b062c2df
    Alert Notification
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90f449a8-a6db-2910-a386-d2b5999f5751
    Regards,
    Phani

  • Redirecting failed messages to other consumers of distributed queue

    Hi,
    We have a simple cluster with two servers A and B, each hosting one MDB whose task is to consume message from a distributed queue and forward them to an EIS via a JCA resource adapter. Server B acts as a failover server. If the resource adapter is unable to deliver the message, the MDB will throw a runtime exception and the message will therefore be redelivered. In order to achieve high-availability, we have configured the distributed queue to send the redelivered message to an error destination (dead-letter-queue DLQ). The DLQ again has another instance of the MDB as a consumer with a different resource adapter.
    Using DLQs is working fine as a high-availability mechanism when the MDB is unable to deliver the message to the EIS, but is this a common or valid approach?
    An alternative to using DLQs would be to configure weblogic to send redelivered message to other consumers on the distributed queue. The problem we have is that the failed message always gets redelivered to the same MDB (i.e. the MDB which consumes messages but throws an exception because the resource adapter fails). Is it somehow possible to configure the MDB or even change the MDB code to notify weblogic to send the failed message to another consumer of the distributed queue? Would the MDB be able to disconnect the JMS connection when throwing the exception and if so, would the disconnection cause the application server to deliver the message to another consumer?
    Many thanks

    Thanks Tom,
    Setting the distributed-destination-connection property to EveryMember seems to be exactly what we need to allow other distributed queue member to consume the message which has been put back on the queue after a rollback. In order to ensure that it won't be the same MDB consuming the failed message again, we would have to temporarily suspend the MDB. From what I read, one approach is to sleep the MDB after throwing the runtime exception (but is this possible, i.e. is it not going to interrupt the onMessage before going to sleep?). I also read that there is a new property from WLS 9.0 onwards to automatically stop the MDB for a certain time after an exception has ocurred, how can I configure this? Are we also going to have to set the MDB pool size to 1 in order to ensure that the message gets consumed by an MDB on a different server?
    We have also tried to use a non-collocated approach instead using a collocated approach with distributed queues but we end up with the same problem that a message does not get redelivered to MDBs on other servers after a runtime exception has been thrown.
    Thanks a lot

  • Failed to process JMS message

    Hi,
    While trying to read the message in Queue from my BPEL, Iam getting the following error:
    JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WTextMessageIn@ffae4c] in onMessage: Content is not allowed in prolog.
    org.xml.sax.SAXParseException: Content is not allowed in prolog.
    Can any one provide some suggestion on how to resolve this error.

    No, Iam just storing a simple message say "Hello" in the queue, the message is stored in the queue but it is shown in the below format when I opened that file in Notepad:
    UUªª ªªUU ‡ÿãÂ- ‡ 6›4•Z 6›4”öÿ Â
    Ô£9™ÿÿ¬h ÎM o „      fÂ6›4”ñ Trial4 com.sun.messaging.BasicQueue Hai ªªUU
    and soon Iam getting this error below:
    [Fatal Error] :1:1: Content is not allowed in prolog.
    JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WTextMessageIn@1e377d5] in onMessage: Content is not allowed in prolog.
    org.xml.sax.SAXParseException: Content is not allowed in prolog.

  • Message processing failed if we receive attachments via E-Mail

    Dear ladies and gentlemen,
    we have follow proccess:
    We get some e-mails with an attachment. The E-Mail pick up the messages and send it to an RFC Channel.
    I changed the payload via the localejbs/AF_Modules/PayloadSwapBean :
    localejbs/AF_Modules/PayloadSwapBean Local Enterprise Bean TRANSFORM
    and the module configuration looks follow:
    TRANSFORM swap.keyName payload-name
    TRANSOFRM swap.keyValue MailAttachment-1
    it looks good and the payload would be swapped okay, and the mapping is also okay.
    But if we push the message to the RFC Adapter I get follow error message back:
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
    So now my question: If is possible, that the adapter try to send also the Body of this E-Mail to the target system ? Because the
    Message ID is the ID from the payload of the E-Mail Body.
    It is possible to keep away the E-Mail Body from the payload?
    Because we need only the attachment. Or if I I have to setup via Bean anything in the RFC Adapter ?
    Thanks
    Kind reagards
    Stephan Kohler
    P.S. The PI System is an PI 7.1, the target system would be an R/3 4.6.  I haven't  any success with the RFC Adatper version 7.10 or 6.40

    > Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
    >
    Is your attachment an XML? Is this XML structure is same as what you mapping source is? If that is the case, it should be okay. Is this interface working for non-mail sender? You might want to re-import the RFC structure in to PI again.
    VJ

  • Message processing failed, FTP Receiver Adapter error...

    Hello all,
    We have a Idoc to File(FTP) scenario using PI.
    When PI try to send the file out to the FTP site, we get the following message in the communication channel monitoring and the file never reach the FTP site:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error when getting an FTP connection from connection pool: com.sap.aii.af.service.util.concurrent.ResourcePoolException: Unable to create new pooled resource: ConnectException: Connection timed out: connect
    When we look at the detail display, we can see that the connection as been establish with the FTP site but the adapter is unable to deliver the file...
    Any Idea why?
    Thanks in advance.

    Hi ,
    There are two things that you can do
    1- check the connection of FTP from command prompt. If it is acceebile from command prompt then check for authorization that wether you have access to post the file at FTP or not (Full access READ , WRITE and EXCECUTE)
    2- in your adpater change the connection mode from Per file transfer to "Permanent".
    Please feel free to reply on this thread if you are not able to.
    Thanks

  • Single queue: concurrent processing of messages in multiple consumers

    Hi,
    I am new to jms . The goal is to  process messages concurrently from a queue in an asynchronous listener's onMessage method  by attaching a listener instance to multiple consumer's with each consumer using its own session and running in a separate thread, that way the messages are passed on to the different consumers for concurrent processing. 
    1) Is it ossible to process messsages concurrently from a single queue by creating multiple consumers ?
    2)  I came up with the below code, but would like to get your thoughts on whether the below code looks correct for what I want to accomplish.  
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Properties;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.walmart.platform.jms.client.JMSConnectionFactory;
    public class QueueConsumer implements Runnable, MessageListener {
      public static void main(String[] args) {
       // Create an instance of the client
        QueueConsumer consumer1 = new QueueConsumer();
        QueueConsumer consumer2 = new QueueConsumer();
        try {
        consumer1.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");   //US.Q.CHECKOUT-ORDER.1.0.JSON   is the queue name
        consumer2.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");
        }catch( JMSException ex ){
        ex.printStackTrace();
        System.exit(-1);
        // Start the client running
        Thread newThread1 = new Thread(consumer1);
        Thread newThread2 = new Thread(consumer1);
        newThread1.start();newThread2.start();
        InputStreamReader aISR = new InputStreamReader(System.in);
              char aAnswer = ' ';
              do {
                  try {
      aAnswer = (char) aISR.read();
    catch (IOException e)
      // TODO Auto-generated catch block
      e.printStackTrace();
    } while ((aAnswer != 'q') && (aAnswer != 'Q'));
              newThread1.interrupt();
              newThread2.interrupt();
              try {
      newThread1.join();newThread2.join();
      } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
              System.out
      .println("--------------------exiting main thread------------------------"+Thread.currentThread().getId());
            System.exit(0);
    // values will be read from a resource properties file
    private static String connectionFactoryName = null;
    private static String queueName = null;
    // thread safe object ref
      private static ConnectionFactory qcf = null;
      private static Connection queueConnection = null;
    // not thread safe
      private Session ses = null;
      private Destination queue = null;
      private MessageConsumer msgConsumer = null;
      public static final Logger logger = LoggerFactory
      .getLogger(QueueConsumer.class);
      public QueueConsumer() {
      super();
      public void onMessage(Message msg) {
      if (msg instanceof TextMessage) {
      try {
      System.out
      .println("listener is "+Thread.currentThread().getId()+"--------------------Message recieved from queue is ------------------------"
      + ((TextMessage) msg).getJMSMessageID());
      } catch (JMSException ex) {
      ex.printStackTrace();
      public void run() {
      // Start listening
      try {
      queueConnection.start();
      } catch (JMSException e) {
      e.printStackTrace();
      System.exit(-1);
      while (!Thread.currentThread().isInterrupted()) {
      synchronized (this) {
      try {
      wait();
      } catch (InterruptedException ex) {
      break;
      * This method is called to set up and initialize the necessary Session,
      * destination and message listener
      * @param queue2
      * @param factoryName
      public void init(String factoryName, String queue2) throws JMSException {
      try {
      qcf = new JMSConnectionFactory(factoryName);
      /* create the connection */
      queueConnection = qcf.createConnection();
      * Create a session that is non-transacted and is client
      * acknowledged
      ses = queueConnection.createSession(false,
      Session.CLIENT_ACKNOWLEDGE);
      queue = ses.createQueue(queue2);
      logger.info("Subscribing to destination: " + queue2);
      msgConsumer = ses.createConsumer(queue);
      /* set the listener  */
      msgConsumer.setMessageListener(this);
      System.out.println("Listening on queue " +queue2);
      } catch (Exception e) {
      e.printStackTrace();
      System.exit(-1);
      private static void setConnectionFactoryName(String name) {
      connectionFactoryName = name;
      private static String getQueueName() {
      return queueName;
      private static void setQueueName(String name) {
      queueName = name;

    Hi Mark,
    if the messages are sent with quality of service EO (=exactly once) you can add queues.
    From documentation:
    Netweaver XI -> Runtime -> Processing xml messages -> Queues for asynchronous message processing
    ...For incoming messages you set the parameter EO_INBOUND_PARALLEL from the Tuning category.
    If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues.
    Transaction: SXMB_ADM
    Regards
    Holger

  • Message processing failed in XML parser

    This is IDoc to file integration. When I test (WE19), I did not put any value in the 'Quantity' field (which is 6 characters long).In the message mapping I put a condition to see if the value is empty then put zero, and it did not give any error. I have given all the fixed field lengths in the file adapter but still getting the following error:
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value 'TABLERO DE CONTROL' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)': java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Column value 'TABLERO DE CONTROL' too long (>6 for 2. column) - must stop', probably configuration error in file adapter (XML parser error)'

    When I enter value in the 'Quantity' field, the integration works fine. The value 'tablero de control' is the 'Description'  which is the next field. My Content Conversion is like;
    Field1, Field2, Quantity, Description
    (where Field1 and Field2 are mandatory and Quantity and Description are optional)
    When I provide all 4 values, the integration work just fine, when I do not provide 'Quantity' it fails.

  • Pending messages in queue consume cache and result slow processing

    Hi All
              I have one stand alone java application which is consumer of one weblogic JMS queue.
              What my application does, it take big messages in to xml format and convert it in to small chunk of xml using XSLT.
              Here I am struggling with one major problem when I sent 10 messages all together all messages went in to pending queue and as application process only one messages at a time, there for other messages waste the cache and processing become slow.
              If I send same 10 messages one by one after completion of last messages total time to process 10 messages is very less then compare to if I sent all together.
              Is there any web logic setting I can do so only one messages goes in to pending queue.

    Ali,
    How about this:
    142# imsimta qm dir | grep '^ *[0-9]' | wc -l
          14I don't know that it's significantly better, but "qm" generates only a single line of output per message whereas "cache" provides like 10/message.
    Bill

  • Queue processing of messages (files / idocs)

    Hi,
    We have 4 communication channels:
    INT A
    1 filesender (file)
    1 filereceiver (idoc)
    INT B
    1 filesender (file)
    1 filereceiver (idoc)
    So, the issue is we need to process the messages in order. First, 2 files from INT A, next 1 file from INT B. The correlationship is the key.
    Is any configuration possible for queue processing with no using of BPM?
    Regards,

    hi,
    yes you can set queue (EOIO) processing in both filesenders
    and if you hava ERP (IDOC) on WAS 6.40 it can be processed
    in this one queue
    how to (IDOC queue processing part) described in my book:
    <a href="/people/michal.krawczyk2/blog/2006/10/11/xi-new-book-mastering-idoc-business-scenarios-with-sap-xi"><b>Mastering IDoc Business Scenarios with SAP XI</b></a>
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 404 Not Found

    In my 2006 biztalk application I have exposed web service to receive SAP input. It was working fine. After I have modified something in orchestration in that application . I am getting following error while SAP try to consume my web service. Can anyone please
    help me.
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 404 Not Found

    In my 2006 biztalk application I have exposed web service to receive SAP input. It was working fine. After I have modified something in orchestration in that application . I am getting following error while SAP try to consume my web service.
    HI Arivazhagan K,
    Could you give some explanation about what you modified? according the to error message, this is "resource is not found issue".
    Best regards,
    Angie
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableExcep

    Hi,
      I am generating IDoc for infotype 2006 through creating Change pointers using the Function Module 'CHANGE_POINTERS_CREATE_DIRECT'.
    The problem is the Idoc is not reaching the receiver system. It is showing the below error message when i checked it in RWB Communication Channel Monitoring,
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'XXXXX' (structure 'callperson'): com.microsoft.sqlserver.jdbc.SQLServerException: Warning: Fatal error 7987 occurred at Dec 17 2009  1:43PM( $ . Note the error and time, and contact your system administrator.
    The scenario is Sender: Idoc and Receiver : JDBC adapters.
    Please let me know how to solve this issue.
    Thanks,
    Sri

    Hi,
    From the error message: "Error processing request in sax parser: Error when executing statement for table/stored proc. 'XXXXX' (structure 'callperson'): ". I think:
    (a) If there is any data type mismatch like a character field from PI is trying to post into a date or numeric field in the stored procedure. You need to check if the data type of the fields in PI and the stored procedure are same?
    (b) If there is any structure mismatch when the XML is created by BADI like any mandatory fields are missing.
    Thanks,
    Manohar Dubbaka

  • Message processing failed: Invalid http response: 220

    Hi Experts,
    I am working on FILE to SOAP scenerio. File is coming in XI properly. But in the SOAP CC its showing this error.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: invalid http response: 220 (Name of the Interanet of the Company) Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at  Thu, 23 Oct 2008 12:02:22 +0530 : java.io.IOException: invalid http response: 220 (Name of the Interanet of the Company) Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at  Thu, 23 Oct 2008 12:02:22 +0530
    Any ideas ?
    -=Soniy

    Hi Sonia,
    Please go throgh the following links for use ofr XML SPY
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7ccd3e4e-0501-0010-95ae-afa58cb46b75
    Re: Stand alone testing using XML Spy
    WSDL frm  Altova xml spy
    Invoke Webservices using SAPXI
    Testing XI exposed Web-Services
    Regards
    Sridhar Goli

  • Check can be made in SAP GTS in an automatic payment  process FIPAY_GTS message no.003

    Hi Experts,
    We have created new company code and while payment proposal we are geting follwoing message.
    "No check can be made in SAP GTS in an automatic payment  process FIPAY_GTS message no.003"
    It seems that the check in SAP GTS for FI is activated and it missing some customizing activities for new company code.
    Can some one help me to resolve this issue ?
    Screenshot is attached.
    Thanks in advance.
    Iftikhar

    Check if you have done configuration setting.
    In Customizing choose Financial Accounting (New)  -> Financial Accounting Global Settings (New) -> Tools -> Change Message Control.
    Application Area: FIPAY_GTS
    Message No: 003

Maybe you are looking for