Increase in wait time of synchronous interface

I am working on HTTP to proxy synchronous interface on PI 7.3
PI uses communication channel with SOAP receiver adapter over XI protocol
Now I am facing below error in the interface while testing after 3minutes-
      com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message (INBOUND)expired
Can anyone please tell me how can I increase wait time in the channel.
I have tried adding the parameter name 'XMBWS.Timeout' and parameter value '30000' to increase wait time to 5minutes. But it didnot work.

Shwetha,
Set property of Service "XPI Adapter:
XI" within SAP NetWeaver Administrator -->xiadapter.inbound.timeout.default ---180000ms--(3 min)
Executing the below mentioned steps
1.(PI 7.3)
Goto NWA(PI 7.3)-->configuration-->Infrastructure-->Java System Properties-->goto Services tab-->find xiadapter--> u can increase value inbound.timeout.default
see the below screenshot :
2.
PI 7.0 & 7.1x
Please check point no 2.2.7 of the below doc:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c059d583-a551-2c10-e095-eb5d95e03747?QuickLink=index&overridelayout=true&44478681512917
Mutti

Similar Messages

  • How to increase the waiting time for response in Adapter Engine not in IE

    Hi Experts,
                It is a SOAP to Proxy Synchronous interface. SOAP system is sending the request to PI, PI sending the same request to ECC system, After execution of some logic response back to PI in 7 minutes. In ABAP Stack(sxmb_moni) processing the response message also successfully with success flag after completion of these 7 minutes. But exactly 5 minutes later getting the error at Java Stack RWB- in communication channel monitoring i.e
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message bd2bf8d0-b2c2-11e0-c383-001cc4fb5cb7(OUTBOUND) expired.  We have set the "runtime-HTTP_TIMEOUT" parameter as 3600. thats why in Integration engine it is processing successfully.
    kindly suggest me how to increase the waiting time for response in Adapter Engine. Exactly after 5 mins getting the above error in rwb, but in Integration Engine getting successful flag after 7 mins until then it is waiting for response with  status flag Log version.
    Thanks & Regards,
    Srihari.

    Hi,
    Please see
    How To... Investigate Timeouts In Synchronous XI/PI Scenarios
    It will answer all your queries
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c059d583-a551-2c10-e095-eb5d95e03747?QuickLink=index&overridelayout=true

  • Wait time in Synchronour interface with out using bpm.

    Hi all,
             actually the scenario is RFC to SOAP. Data is flowing from sap to .netserver. The requirement is XI needs to stop the message for 5 min  once the data comes to XI from SAP R/3 through RFC.Is it possible in XI.
    Thanks & Regards,
    Rama

    Hi Rama Krishna,
    Through BPM its possible, without BPM it's not according to my knowledge.
    In the BPM we have wait step, that step haveing 3 parameters type, duration and units.
    So in the type you mention wait specified and for the duration you mention the number (ex:5) and for the unit you mention the Minutes.
    Based on the above setup it holds the data for 5 minutes after the time is over then it process the data.
    Regards
    Ramesh

  • Extending wait times in Workflow (items that have already started)

    We have Order Mgt order line workflow that has multiple wait and loop activities. A number of these timeout in 2 minutes. We think that this is causing the WF BG process to run extremely long times because a processed item key times out before the process ends, causing the item to process through multiple times.
    We have an initiative open to increase the wait times for the wait nodes. However, we need to figure out a way to extend the waits for the order lines that are IN PROCESS. We tried updating the due date field on the wf_item_activity_statuses and also updated the number_value in wf_activity_attr_values. But that did not do the trick. We then found another table WF_ITEM_ACTIVITY_STATUSES_H which also holds the due date.
    I would like to find out if someone has ideas on what tables to update in order to get all the existing wait times extended from the current value to a different value.
    Thanks in advance.

    You need to update WF_ACTIVITY_ATTR_VALUES for the specific process activity id that is in wf_item_activity_statuses.
    But why do want to do that. Let them complete with the old default_days and the new ones can use the new value. Are there too many item keys (order lines) that are open and require processing using WBG?
    Thanks
    Nagamohan

  • HTTP Get Keepalive Wait Time

    Does anyone know how long is the wait time for the built in http get keepalive before it determines there's no answer and marks the service as dying? And is this configurable somewhere? I have an App owner who thinks the load balancer may not be waiting long enough for a response from the server. I searched around and couldn't find anything on the built in. I see it's in the scripts but I don't think the "keepalive type http" under the service uses the scripts. TIA

    the wait time is the frequency time minus 1 sec.
    So if you have an interval of 5 sec, the CSS waits 4 sec for the response.
    The only way to increase this wait time is to increase the keepalive frequency.
    Gilles.

  • Performance Synchronous Interface

    Hello everybody,
    I need an advice from you experts, I need to evaluate if is good to use a syncrhronous interface like this:
    R/3 ABAP Synchronous Proxy->XI->R/3 Synchronous RFC,
    the ABAP Proxy sends data in a table, then XI directs it to the R/3 via a Z RFC, and the Z RFC inserts that data in a Z tables, now the interfaces are synchronous beacuse I need to update Z Table in the Sender system for confirmation of succesful insertion in Z Tables in Receiver system, now tha real question is as follows, the data to transfer can be up to 10,000 records, is it correct to use a synchronous interface so the sender system is going to be waiting for confirmation of insertion in Z tables in receiver system? it's more a performance question, any suggestions would be really appreciated, thanks in advance.
    Resgards,
    Julio Cesar

    Hi Julio,
    If you are passing all 100,000 records at a time to ZRFC to insert into ztable...then it wont be a problem with sync interface...bcoz you are passing all records at a time and waiting for one single response...which is quite ok....
    But if you are inserting one record at a time and base on result of previous insert if you want to insert next record...it willl take huge time and would afftect performance as well. ( Rather than this can used proxy @ receiver end as well and then you can call zrfc inside procy..would be much faster).
    Hope this will help.
    Nilesh

  • How to keep waiting time between processed messages !!

    Hi Folks,
    I have got one scenario required waiting time between processed messages. The problem as follows !!
    File --> Proxy scenario. I receive 15 messages from sender side (same messages structure) so working with one interfaces. File picking and transforming this message and split into 2 messages. messages are receiving to receiver. I am using BPM with 7,8 steps like receiving step, block , message transformation step , internal block 1 for sender 1, internal block 2 for sender 2.
    All things are working fine, messages are going to receiver properly. But customer requirement is , wait step required between processed messages before sender1. I have put wait step still, PI picks all messages in one shot processing and waiting for 2 minutes, after 2 minutes sending all messages at the same time, this process is not working.
    I have tried with wait step in mapping (Sarvesh) given excellent idea, still PI works the same way.
    Can someone please explain a bit why the messages or not waiting message by message. I am using EOIO with Queue name and file process mode "BY NAME" and I have tried "BY TIME" as well. I have given priority to this Queue. On BPM Queue assignment : One Queue.
    Please I am expecting positive answer !!
    Many Thanks in Advance
    San

    Hi Rudolf Yaskorski ,
    Not sure about your PI release and BPM model, do you create separate process instance for each file, or do you process files collecting them in one single instance? Are you using parallelization within your ccBPM ?
    I am using serialization, I don't think bpm can do Parallization until PI 7.0, but PI 7.11 has got has queue assignment. But I am using one queue. This must be serialization.
    To me it looks like your issue is not in ccBPM but rather more in polling files (as per your post file CC polls all 15 files in one shot). So if you wish to poll the files not at the same time some workaround is required. Possible options you could check out:
    A. Either implement "wait" in your mapping based on file name or other criteria (e.g. directory name). Check out if respective BPM instances are really created at different times.
    I have used wait step in mapping. These 15 messages has to go through one interface. So I am using one interface. But I have checked mapping process time in all messages on receiver system. Shows same timing, even though I put 40000 ms waiting time in mapping.
    B. Try polling different files (or use different directories) with different channels and coordinate starting / stopping of your channels by scheduling availability for each CC in RWB. E.g. you poll file 1 with CC 1. You start 2 minutes later CC 2 and poll file 2. And so on.
    I am not clear about this . On BPM waiting step is working and it keeps wait all messages, which are coming through one interface. Then it releases all messages at the same time.
    I don't know how to resolve this. I have tried with Transport acknowledgment, but all messages are going to reciver system waiting at receiver system in priority queue and processing in EOIO, but taking so long. Rather all messages go and sits in queue, I want to stop messages by message with 2 minutes time gap. How please?
    Kind Regards
    San

  • How to exclude synchronous interfaces from component based message alerting

    Hi Pi experts,
    We are configuiring Alerts in PI 7.3 single stack.If we have 'n'number of interfaces, and if we configured general alerts for all.How to exclude synchronous interfaces in that.Alerting is for asynchronous interfaces only.How to do that.
    Please advice on this.
    Regards
    Suneel

    Hello,
    >>What are your approaches regarding this requirement in the context of java-only?
    I would suggest you to schedule jobs like this:
    Customize Alerts Using Job in PI 7.31/PO
    >> alerts are consumed according to the given interval and not in "real time" when error occurs, today solution using BADI is "real time" - if possible I would prefer "real time" solution
    Check this:
    Michal's PI tips: How to trigger an alert for Component Based Message Alerts (CBMA) via "API" ?
    >>an separate service determine the actual alert count would be helpful to provide the correct value for maxAlerts, this have to be called beforehand
    I haven't tried it but i think u can do that, since these consumers are nothing but JMS queues only so i think there will be a method to read number of alert counts.
    >>In history I saw emails generated by the standard alert consumer which only contain details for the first alert, in my case I need details especially the message id for all errorneous messages
    If ur max alert parameter is greater than 1 then u should see multiple alert text  (along with message id and other details) in ur email message.
    Thanks
    Amit Srivastava

  • Communication error at synchronous interfaces.

    Hello experts.
    I have some synchronous interfaces and the scenario bellow can occur:
    When a Source system start a process, and the target(ECC) system execute the process whit sucess, but at the moment that they try to delivery the answer have a problem(connection problem for example). My question is, have some way to guarantee that the message will be delivered, even whether the problem be a infrastructure problem?
    Thanks

    >My question is, have some way to guarantee that the message will be delivered, even whether the problem be a infrastructure problem?
    Depends on the context and where the connectivity fails. If the synch message already reached target system and say your proxy is processing it and during that time ECC does not respond then it is a failure. User would get only system error mesg as response.  But ofcourse you can pretty much find the problem using log where it failed. Whereas if your scenario is not best effort then PI can retry the same mesg few times default. Hope that helps.  So mesg will not be delivered if there is a infrastructure problem for synchronous mostly.

  • CANNOT_READ_PALOAD error with SOAP to PROXY Synchronous interface

    Hi,
       Problem with SOAP to PROXY Synchronous interface.
    In Production client, some times we are getting the below shown error in SXMB_MONI. There is no Inbound payload also.
    <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="MAPPING">CANNOT_READ_PAYLOAD</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Unable to read payload from the message object</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    Please suggest me to resolve this.
    Thanks in advance,
    Hari.

    Hi Hari,
    In your case, check SAP Notes: 1082111 and  1060723.
    Regards,
    P.Rajesh

  • In sequence for write/read, value of wait time?

    I made a sequence for write then read on a serial port.
    Sometimes, the read string is not the entire one.
    I put some wait time of 500ms in write sequence and wait time of 500ms in read sequence. Could it be the problem ?Is it possible to change the buffer size ?

    Hi,
    The buffer size is limited by the port itself. Consequently there really is no way to increase its size. Are you using VISA or the old serial VI's? One thing you may want to try is making your read time half the time of the write sequence. Also make sure that flow cotrol is working. With flow ctrl, you should never lose any information.
    Hope this helps out.
    Best Regards,
    Aaron K.
    Application Engineer
    National Instruments

  • Cannot get Local Connection, No available resource, Wait-time expired

    Hi Friends,
    Please answer my queries below.
    Thanks and Regards
    Busincess Requirement
    I have to display a particular set of rows in a dashboard or screen, and it is being refreshed every 1 minute, also user can update from that screen displayed values.
    The below program extracts some data from database and passes to the front end through a collection where it is being displayed.
    Code Logic Flow
    1. CockpitAction calls CockpitOraDAO for database results
    2. CockpitOraDAO is a singleton class.
    3. After getting the CockpitOraDAO object, the action will then call the getLabAreaCockpitDetails() method.
    getLabAreaCockpitDetails will
         - Get the Connetion from the OracleConnectionManager class (It is a plain class with getPooledConnection() and releaseConnection() methods).
         - Execute the query and put the result to a collection
         - close the connection
         - return result to the calling action.
    This getLabAreaCockpitDetails() are called around once in every 1 minute
    So, I believe everytime a call is made to action for cockpit display, it will take the existing object of the CockpitOraDAO class and make a call to database. i.e there will be only one object of CockpitOraDAO reside in application server at any particular interval of time.
    My Understandings
    1. Only 1 object of CockpitOraDAO will reside in application server (provided it is not user longer and garbage collected) at a particular instance.
    2. Many objects of Connection will be created and destroyed.(Each time the getLabAreaCockpitDetails() method is called, we will get one connection from connection pool and in finally the Connection will be released to connection pool).
    My Problems
    It is showing the "Cannot get Local Connection, No available resource, Wait-time expired"
    after running around 1 full day.
    My doubts
    1. Can anybody say why I get this error ?
    2. There may be some connections are not closed. But I have checked at finally block, the status of the connection is closed after calling this method.
    3. There may be some problem due to the singleton instane of CockpitOraDAO, Is it affecting performance ?
    4. Is it valid that I have to make CockpitOraDAO as Singleton ?
    public class CockpitOraDAO extends DAOAdaptor //implements BISample
         private static CockpitOraDAO instance=null;
         private static boolean debug = true;
         * The below method will be used to provide the singleton intance of the CockpitOraDAO object.
         public static CockpitOraDAO getInstance()
              if (instance == null)
                   synchronized (CockpitOraDAO.class)
                        if (instance == null)
                             instance = new CockpitOraDAO();
              return instance;
         * The below method will be used to get the cockpit details of the lab area.
         * This will return collecton of sample details for the specific lab.
         public Collection getLabAreaCockpitDetails(Collection prevCockpitDetailList,Collection filterCriteria) throws Exception
         if(debug)
              System.out.println("Inside CockpitOraDAO::getLabAreaCockpitDetails() method");
              Connection conn = null;
              boolean sampleExists = false;
              PreparedStatement pstmt=null;
              ResultSet rs=null;
              String returnStr=null;
              StringBuffer sqlQuery = null;
              String tempComment1=null, tempComment2=null;
              LabCockpitDO labc=null;
              LabCockpitDO labc2=null;
              Collection resultList=null, manCommentList=null, labCommentList=null, labCompCommentList=null;
              ArrayList result1List=null, prevCockpitDetail1List=null,filterList = null;
              OracleConnectionManager manager = null;
              boolean flag = false;
              try
                   labc2 = new LabCockpitDO();
                   prevCockpitDetail1List = (ArrayList) prevCockpitDetailList;
                   sqlQuery = new StringBuffer();
                   sqlQuery.append("select s.sample_sample_no sample_no, s.sample_inspection_lot_no inspection_lot_no,");
                   manager = new OracleConnectionManager();
                   conn = manager.getPooledConnection("myDS");
                   pstmt = conn.prepareStatement(sqlQuery.toString());
                   if(debug)
                   System.out.println("Query********"+sqlQuery.toString());
                   rs = pstmt.executeQuery();
              catch(Exception e)
                   //System.out.println(e);
                   throw e;
              finally
                        try
                             manager.releaseConnection("myDS");
    if(debug)
    System.out.println("Connection Status Closed=true/ Open=false=["+conn.isClosed()+"]");
    if(conn!=null || !conn.isClosed())
    conn.close();
    if(debug)
    System.out.println("Connection Status After Closing Connection Closed=true/ Open=false=["+conn.isClosed()+"]");
                             if(rs != null)
                                  rs.close();
                             if(pstmt != null)
                                  pstmt.close();
                             conn = null;
                             pstmt=null;
                             rs = null;
                             sqlQuery=null;
                             returnStr=null;
                             labc=null;
                             labc2=null;
                             manCommentList=null;
                             labCommentList=null;
                             labCompCommentList=null;
                             tempComment1=null;
                             tempComment2=null;
                             resultList=null;
                             prevCockpitDetailList=null;
                             prevCockpitDetail1List=null;
                        catch(Exception e)
                             //System.out.println("Unable to Release Connection ="+e);
                             throw e;
              //if(debug)     
              //System.out.println(resultList);
              return result1List;
         }

    Hi,
    As you can see from other posts, this is a very common problem. Until now the cause always ends up pointing to a connection not being close.
    I suggest you try to run through a full single cycle of you app, while using the CLI monitoting to check that the connections created/closed matches the expected created/closed connections. Also that the number of free connections at the end is correct.

  • Wait time within a While Loop

    I was always under the impression that Wait Timers (e.g. Wait and Wait Ms Multiple) always executed last within a while loop. As I'm reading up on timing of real-time loops I'm finding that NI suggested using a stacked sequence structure to force timing to run last. Has my assumption of wait timer execution been wrong all this time or do PC and RT systems differ in how loops handle timing?
    Thanks,
    Craig

    So, ok, coming back on this.
    Attached you find a small example to show my remarks in the previous post.
    How to use it:
    The main focus is in the first iterations once "Wait now!" is pressed. So it is usually not of interest to run the "waiting" for more than 5-10 iterations.
    In order to see an "understandable" behavior, i suggest to wait at least 100ms. I configured "Time To Wait" to be at least 10 (coercing).
    The second focus is "Time Value".
    For "Wait (ms)", the "Time Value" will have any number, but increase each iteration by the amount of "Time To Wait".
    For "Wait Until Next Multiple (ms)", "Time Value" will be initialized to a value, which is a integer multiple of the "Time To Wait" and will increase each iteration to the next multiple.
    My example does not contain parallel code, so it does not show the parallelism of the waiting functions!
    Nevertheless, understanding the shown behavior is the key. Because if the code running in parallel to the waiting requires less execution time than the wait function will wait, the behavior will be exactly as shown.
    If the parallel code requires more execution time than the waiting, "Wait (ms)" is already finished and therefore the loop will immediatly continue with the next iteration (high CPU load!).
    If the parallel code requires more execution time than the waiting, "Wait Until Nexty Multiple (ms)" will wait that long that the "Time Value" is again in line to an integer multiple of the "Time To Wait" (so this one keeps on running in parallel until waiting time is calculated and over). Hence, "Wait Until Next Multiple" will still introduce a waiting time (reduced CPU load), but you will "miss complete iteration slots".
    As you can see, using a single "Wait Until Next Multiple" outside the loop for initialization can make sense if the first iteration should also have a "close to normal" execution time.
    Please note that the Timed Loop does something similar once started. As it does it during the iterations, the first 1-3 iteration(s) are called "warmup iterations". Most often, the first single iteration is sufficient for this though....
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.
    Attachments:
    TimingVI_Behavior_2011.vi ‏29 KB

  • Wait time from WIP to finished product

    Dear PP experts,
    I have a case need your help:
    We're a construction company, we have a concrete factory.
    Our product (called spun pile) is made from concrete and mixture.
    In put: concrete + admixture
    Out put: spun pile (WIP)
    usually, it takes 7 days for a spun pile (WIP) becomes a finished product.
    in other cases, we have to speed up the progress, so, we put the spun pile (WIP) into heat oven. It only takes 1 or 2 days for a spun pile (WIP) becomes finished product.
    In total, we have production date, called A (date)
    We have wait time, called T (days)
    We have the date that we can sales finished product, call B (dates) = A + T
    Can we manage it in SAP PP? We expect after T days, stock in finished product will be increased, automatically, instead of manually do the stock transfer in SAP MM module.
    Please consult me on this. Thanks in advance.
    Regards,
    Gent
    Edited by: Nguyen Phuoc Toan on Jun 18, 2011 9:15 AM

    Hi Toan,
    Can you explain your business in this case? If you want to check available in SO, you need to setting waiting time in routing, if you need to receipt into stock, it impossible.
    KietNVT

  • Wait time frequent insert

    Hello
    This was my exam question and still not sure about the answer
    You notice there is a very high percentage of wait time for contention event in your Rac database that has frequent insert operations.
    Which two recommendations may reduce this problem ?
    a-)shorter transactions
    b-)increasing sequence cache sizes
    c-)using reverse key indexes
    d-)uniform and large extents sizes
    e-)automatic segment space managemnt
    f-)smaller extent sizes Any suggestion ?

    Again, what exam are we talking about? If you're talking about one of the Oracle certification exams, be aware that you're not allowed to discuss post exam questions on public forums or to discuss them with other candidates. That's a violation of your certification agreement.
    Assuming we are not talking about an Oracle certification exam, I'd point out to the instructor that any or all the answers might be correct depending on the wait event.
    Justin

Maybe you are looking for