Reprocessing Synchronous calls from XI

Is there any way to reprocess synchronous calls from XI when they fail. Means a webService calling RFC through XI , in case R/3 is down then that case message should be persisted in XI and the error message(R/3 down)needs to be sent to webService. Later when R/3 is up the failed message needs to be reprocessed from XI and the Return Structure needs to be sent to webService as a separate response.
Appreciate if anybody could throw a light.

hi,
no sync messages <b>cannot be reprocessed</b>
you need to find another solution for your issue
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>

Similar Messages

  • Parallel synchronous calls from BPM

    Hi,
    how many parallel synchronous calls can XI perform at once?
    Reason why I ask, for me it looks like parallel calls are handled sequentially in XI.
    My scenario: I have a ccBPM that should ask three different synchronous WebServices to collect data. In the BPM I used the Branch element where one synch call is in every branch.
    Unfortunately at runtime the monitoring says that the WebServices are asked consecutive and not parallel.
    Even if I start a performance test an run 10 BPMs at the same time, all WebServices are asked consecutive.
    So is there a unknown hidden parameter to force parallel sync calls or is XI not able to perform such calls?
    Regards,
    Robert
    (tested on 7.0 and 7.1)

    Hi,
    Maximum Number of receivers you couls send at a time are 999. So i think u can make 999 webservice parallel calls at a time.
    Using BPM:
    First have a receive step and then the receiver determination  and the out put of this step would be a multi line element(containing all the receivers identified during the runtime).And then create a block step in par for each mode and in the properties give the multielement name created from the receiver determination step and then a send step in the block in synchronous mode.
    In ID confgure all the receivers.
    Thanks,
    Vijaya.
    Edited by: Vijaya Lakshmi Palla on Jun 2, 2008 6:29 AM

  • Synchronous call to webservice for retrieving values

    Hi
    I am making webservice synchronous call from bpm,I want to retrieve data doing lookup in webservice,
    Can uplease tell me how we will achieve this.SOAP Lookup we can use?
    Thanks
    Best Regards,
    Harleen Kaur Chadha

    Hi,
    check this links
    Webservice Calls From a User Defined Function.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
    regards
    srinivas

  • Synchronous SOAP call from XI without BPM....

    Hi All,
    Is it possible to use the (File - XI - SOAP) Synchronous SOAP call from XI with out BPM. to trace the error messages. If yes then how it can be achived in XI.
    Thanks,
    Jane

    Hi,
    You will get either a system error/application error raised if there is a problem processing the SOAP request without the need for BPM.
    You can then raise an alert from the RWB if this occurs.
    If all is OK with processing, you will get the standard chequered flag.
    Cheers
    Colin.

  • ON-LOGON does not fire in Form B, called from Form A

    We have a situation like this. We are using Forms (Forms [32 Bit] Version 10.1.2.0.2 (Production)).
    We migrated this application to Forms 11.2.0.1.0. Problem is that the ON-LOGON trigger does not fire in the 2nd level forms. Our application work like this.
    (a.) User double-clicks URL icon.
    (b.) Form A is opened without asking for un/pwd. We put a NULL; in the ON-LOGON of A.fmb.
    (c.) This is the main form of the application. This has a canvas with 6 buttons. Each button will launch it's own separate application with it's own menu.
    (d.) Now user presses button in A. This launches Form B. We use
    Run_Product(FORMS, 'B', SYNCHRONOUS, RUNTIME,FILESYSTEM, pl_id, NULL);              (e.) Now, in Form B, in the ON-LOGON trigger we have put code to show the logon screen and login to the DB.
    Problem is, this works in 10g Forms. But we had to replace the RUN_PRODUCT with a CALL_FORM after migrating to 11g since RUN_PRODUCT is not supported in 11g.
    Problem is that when you use CALL_FORM to call Form B, the ON-LOGON of the Form B does not fire. We tried OPEN_FORM and NEW_FORM with different parameters, but the behavior is the same. i.e. ON-LOGON does not fire.
    What is the solution or workaround for this please.
    Edited by: user12240205 on Oct 15, 2012 4:50 AM
    Edited by: user12240205 on Oct 15, 2012 4:52 AM

    Michael Ferrante (Oracle) wrote:
    If you need to open another form you should use CALL_FORM, OPEN_FORM, or NEW_FORM. In these cases, ON-LOGON will not automatically fire because the connect info is passed from the calling form. If you need to login from the called form then you need to need to programatically cause that to occur. Refer to the LOGON and LOGON_SCREEN built-ins in the Builder help for more info. You can fire these from almost any trigger you like, for example in a WHEN-NEW-FORM-INSTANCE trigger or where ever is appropriate for you application.Michael, we tried using the CALL_FORM, OPEN_FORM & NEW_FORM.
    Also, there is NO connection to the DB, when B is called from A since we don't login to the DB in A (ON-LOGON has NULL;).
    So, if there is no DB connection when B is called, shouldn't the ON-LOGON in B fire?
    We tried firing the LOGON_SCREEN and LOGON in the WHEN-NEW-FORM-INSTANCE. But, for some reason, the we don't get the menu (we get a menu not found error). We tried correcting the paths and other things but still no solution.

  • Applet with JFilechooser called from a Javascript blocks paint messages

    Hi,
    I am trying to create an applet that can:
    1) be called from a Javascript
    2) displays a file selection dialog for multi-selecting files
    3) returns the selected filenames in a string to the JavaScript
    I am able to use doPrivileged to apply the necessary security context to launch a JFilechooser and return the filenames selected. However, When the JFilechooser dialog is visible and the user moves the dialog window around the HTML pages dose not receive any repaint messages. They seem to be blocked by the thread that launched the JFilechooser dialog and is probably blocking update events as the dialog is still visible.
    I know I need some type of a message pump so the child thread can inform the parent thread and the browser to repaint. However, I don't know how to do this.
    Please help.
    ------Applet Code Begin:-----
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.AWTEvent;
    import java.awt.event.AWTEventListener.*;
    import java.awt.event.MouseMotionListener;
    import java.awt.event.MouseEvent;
    import java.io.File;
    import java.util.Locale;
    import java.util.MissingResourceException;
    import java.util.Properties;
    import java.util.ResourceBundle;
    import java.util.Vector;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFileChooser;
    import javax.swing.JOptionPane;
    public class SampleApplet extends JApplet
       boolean allowDirs=false;
       boolean allowFiles=true;
       boolean hidden=false;
       File lastUserDir=null;
       public void init()
        public void start()
        public void stop()
        public String selectFiles()
           String choosenFiles = null;
           choosenFiles = new String((String)java.security.AccessController.doPrivileged(
           new java.security.PrivilegedAction()
         public Object run()
            String choosenFiles=new String();
                 JFilechooser fc = new JFilechooser();
         fc.setFileSelectionMode(allowDirs ? (allowFiles ? JFileChooser.FILES_AND_DIRECTORIES
            : JFileChooser.DIRECTORIES_ONLY)
            : JFileChooser.FILES_ONLY);
         fc.setMultiSelectionEnabled(true);
                 int returnVal = fc.showOpenDialog(null);
                 if (returnVal == JFileChooser.APPROVE_OPTION)
                    choosenFiles = "The selected filesnames will be stuffed here";
              return choosenFiles; //return whatever you want
           return choosenFiles;   
    ------Applet Code End:-----
    ------Html Code Begin:-----
    <html>
    <applet id="SampleApplet" archive="SampleApplet.jar"; code="SampleApplet.class"; width="2" height="2" codebase=".">
    </applet>
    <head>
        <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
    function SelectFiles_onclick()
      var s = (document.applets[0].selectFiles());
      alert(s);
    </script>
    </head>
    <body>
        Click Test button to select files
        <input id="SelectFiles" type="button" value="Select Files" onclick="return SelectFiles_onclick()" />
    </body>
    </html>
    ------Html Code End:-----

    try this:
    first don't open the file dialog in the SelectFiles call. Start a new thread that does that. Then return from the SelectFiles call immediately. Now after the user selectes the files call back into the javascript by doing something like this:
    pass the list of files into this function, each on being a String in the params array
        public synchronized void sendDataToUI(Object[] params) {
            if (FuserState.hasQuit()) {
                return;
            String function = "getUpdates";
            if (logger.isLoggable(Level.FINE)) {
                logger.log(Level.FINE, "Calling Javascript function " + function);
            if (getJavaScriptWindow() == null) {
                logger.log(Level.SEVERE, "Member javascriptWindow is NULL, no call was made!");
                return;
            try {
                getJavaScriptWindow().call(function, params);
            catch (netscape.javascript.JSException x) {
                if (params == null) {
                    logger.log(Level.SEVERE, "p=NULL PARAM");
                } else {
                    logger.log(Level.SEVERE, "p=" + params[0]);
        protected JSObject getJavaScriptWindow() {
            javascriptWindow = JSObject.getWindow(this);
        }

  • Reports are not called from form in browser plz help

    Hi,
    I have installed 9iAS+8.1.7 database on the same machine with NT4 server.My system's forms(.fmx) are running well but my reports are not running from my main form.i call reports from the
    from as,
    Run_Product(reports,'..\iReports\xglrxx12.rep',synchronous,RUNTIME,FILESYSTEM,pl_id,null);
    Actually want to know the report's setting when calling from the from in a browser(environment variables,virtual paths etc.).
    My database is installed in drive E:\8idb_home\ and 9iAS is on
    G:\9iAS_home\.My systems .fmx & .rep files are in "iforms" and "ireports" folder respectively.
    Plz help!
    Many thanks!

    Hi,
    First of all thanks to Vincent Botteman for solving the prob.
    Yes when i changed my call of run_product by excluding the path i have specified when calling from form it then makes a result.
    Also specified the entry of your reports .rep files by giving path in reports60_path registery variable as,
    Run regedit-->Hkey_Local_Machine-->Software-->Oracle here give the full path of your .rep files as an first entry in reports60_path variable.And finally not mention the path when calling reports from form as,
    Run_Product(reports,'xglrxx13.rep',synchronous,RUNTIME,FILESYSTEM,pl_id,null);<--- Correct way.
    Run_Product(reports,'..\iReports\xglrxx13.rep',synchronous,RUNTIME,FILESYSTEM,pl_id,null);<--- Wrong way.
    Regards!

  • Asynchronous RFC call from R/3

    I need to make an asynchronous RFC call from R/3. I receive an error message in R/3 stating that my RFC destination can only be of type I (Internal) or type 3 (R/3 system). In order for it to reach XI I need it to be of type T (TCP/IP). Any help would be appreciated.
    Here is the function call.
    CALL FUNCTION 'Z_B2B_R3_FUNCTIONAL_ACK' starting new task 'SESSION1'
       destination 'RFC2XMBSERVICE'
          EXPORTING
               MSG_TYPE            = msg_type
               ORDER_HEADER_RETURN = order_header_return
          TABLES
               RETURNCODE          = i_return.
    the RFC desitnation RFC2XMBSERVICE is of type TCP/IP which by default makes it synchronous.
    Thanks,
    Jim

    hi,
    have you tried:
    CALL FUNCTION 'Z_B2B_R3_FUNCTIONAL_ACK'
    in background task
    destination 'RFC2XMBSERVICE'
    EXPORTING
    MSG_TYPE = msg_type
    ORDER_HEADER_RETURN = order_header_return
    TABLES
    RETURNCODE = i_return.
    commit work.
    Regards,
    michal

  • RFC call from XI, parameters trouble

    Hi,
    I have a BPM that makes a synchronous call to a BAPI, but the result is not the one expected:
    Using SXMB_MONI, I can see the request message send to the SAP system:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:BAPI_ADDRESSEMPGETDETAILEDLIST xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
      <EMPLOYEE_ID>00000179</EMPLOYEE_ID>
      </rfc:BAPI_ADDRESSEMPGETDETAILEDLIST>
    and the answer:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:BAPI_ADDRESSEMPGETDETAILEDLIST.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    - <RETURN>
      <TYPE>E</TYPE>
      <ID>PG</ID>
      <NUMBER>009</NUMBER>
      <MESSAGE>No data stored for Addresses in the selected period</MESSAGE>
      <LOG_NO />
      <LOG_MSG_NO>000000</LOG_MSG_NO>
      <MESSAGE_V1>Addresses</MESSAGE_V1>
      <MESSAGE_V2 />
      <MESSAGE_V3 />
      <MESSAGE_V4 />
      </RETURN>
      <ADDRESS />
      </rfc:BAPI_ADDRESSEMPGETDETAILEDLIST.Response>
    That would seem to be perfect if the employee 179 was not exisitng or had no addresses, but that's not the case.
    Using SE37 and the BAPI_ADDRESSEMPGETDETAILEDLIST function in the target system, and the same employeeID 00000179, I got the address as expected that is registered for that employee.
    Does anyone have any idea where the trouble can come from?
    Cheers,
    greg

    Ok,
    the point was on the name field for the Employee number !!!
    I used the same mapping from an other function, changed the function name, but didn't suspected the parameter had another name, it had !!!
    with
    <?xml version="1.0" encoding="UTF-8" ?>
    - <rfc:BAPI_ADDRESSEMPGETDETAILEDLIST xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
      <EMPLOYEENUMBER>00000179</EMPLOYEENUMBER>
      </rfc:BAPI_ADDRESSEMPGETDETAILEDLIST>
    I have the right answer !!!
    Thanks for the inputs and hope this would avoid somebody doing the same error

  • Sync JDBC call from ParForEach block in BPM (XI 3.0)

    Has anyone tried the following scenario:
    My BPM flow starts with a single message that I split using a message map into a list of messages to be sent synchronously to an Oracle stored procedure via the JDBC adapter.  After the mapping step, the flow goes into a ParForEach block that executes the sync Send step to the JDBC adapter, and then has a Container Action that collects the responses.
    My problem is that BPM seems to not like executing a synchronous send from inside a block.  The first execution of the send step will produce an error in the BPM flow.  The adapter framework, however, shows that the JDBC call executed normally and that the response message was sent back to the integration server.  There is no error indicated in SXMB_MONI, which inidicates to me that the response message was delivered successfully business server (the BPM flow).
    If anyone could shed any light or share any experience, it would be greatly appreciated.
    Chris

    Hi Chris,
    I am facing same situation how you configured BLOCK step for Sync response.Please let me know the flow how you configured.
    Srinivas.

  • JDBC Synchronous call  using BPM

    Guys,
    Scenario is like this.
    1. Initiator is file adopter
    2. JDBC select (Synchronous call) select data from 1 DB table
    3. Copy response into some FTP system as a file.
    File Initiator is working fine Synchronous call is giving the error.
    I have created the Message Interfaces
      1. Synchronous abstract (JDBC_select)
      2. Asynchronous abstract (JDBC_Select)
    I have done the 2 mappings like
    1. File Initiator as source and JDBC_Select as target,
       (I am passing all constants values to JDBC_select like action='SELECT' table='tablename' and keys as well)
       JDBC_Select structure i have created as
           <Root>
             <selectStatement1>
             <action>
             <tablename>
             <access>
             <c1>
             <c2>
             <key>
             <c1>
    2. JDBC_response as source to Target_FILE as target.
       Response structure is like this
        <root>
        <row>
        <c1> </c1>
        <c2>...</c2>
        </row>
        </root>
    I have created the BPM by using
      --> transformation and send steps.
    Can any body send me the Blogs for this scenario .
    Thanks
    M

    Moorthy,
    <u>Message Types</u>
    1) File_Input
    2) JDBC_Req
    3) JDBC_ Response
    4) Target_File
    <u>Message Interfaces</u>
    1) Async_Outbound,
         - File_Input
    2) Async_Inbound
         - Target_File
    3) Async_Absract
         - File_Input
    4) Sync_Abstract
         - Target_File (Output Message)
         - JDBC_Response (Input Message)
    5) Sync_Inbound
         - JDBC_Request (Input Message)
         - JDBC_Response (Output Message)
    <u>Message Mapping</u>
    1)Mapping1
      - File_Input as a Source
      - JDBC_Reqest as Target(Here I am passing all constants values like action, tablename , accessfields and keyfields)
    2)Mapping2
      - JDBC_Response
      - Target_file (Target file structure as same JDBC_Response structure)
    <u>Interface Mapping</u>
    Interface Mapping 1
       - Sync_Abstract (source Interface)
       - Sync_Inbound  (Target Interface)
    Here is my doubt I am not getting Mapping program in the dropdown (F4 help), it is problem with my source and target?.
    What are the source and target for second interface mapping.
    Thank you for helping me alot on this..
    M

  • Send Synchronous message from Oracle to BPM to CRM in RWB

    Hi All,
    I have a scenario like this Oracle Sender (synchronous interface)-> calling ccBPM -> CRM which is a synchronous process.
    Oracle sends an external message to CRM and get the response back. This is achieved using ccBPM due to some internal calls from ccBPM to MDM also sycnhronously.
    So there are three receive determination created
    Oracle to ccBPM
    ccBPM to MDM
    ccBPM to CRM
    Now, the question is I have some message to be send from RWB for testing whether this process works properly or not in staging system. How do I send the message in RWB for this kind of process. This is a syynchronous process
    And sender should be oracle system, receiver shuld be what? ccBPM or CRM from RWB perspective.
    Hope you all got the question.
    Thanks
    Mike

    Hi,
    How do I send the message in RWB for this kind of process. This is a syynchronous process
    And sender should be oracle system, receiver shuld be what? ccBPM or CRM from RWB perspective.
    You need to mentioned Oracle as sender & receiver would be BPM.
    BTW, why do you put a receiver name, you should only supply Sender parameters (Sender Name, Interface & Namespace), Let PI , determine the receiver which is true testing.
    Regards
    Sushil

  • Synchronous Call without Operations Mapping

    Hi All,
    We have requirement to call a web service from WebDynpro hosted on BW system via PI. For this wanted to use AAE (advanced adapter engine) with SOAP to SOAP adapters. We are thinking of implementing this interface without message mapping hence no operation mapping.
    There are two reasons for this, 1. To increase the speed for the call 2. In PI there is nothing to transform, just to proxy it thru
    Now here my question are,
    Is our approach correct?
    Can we implement synchronous calls without operation mapping?
    Here we are using integrated configuration for this interface.
    If this approach is wrong, please suggest me a better way to proxy-ing PI for given requirement.
    Thanks in advance.
    Regards,
    Prasad.
    Edited by: PrasadBabu Koribilli on Mar 30, 2011 9:46 AM

    Hello Stefan,
    Thank you for the reply.
    I proposed the same to the project. But as per the guidelines any connection to backend SAP system should go through PI. So i will have to find a solution to satisfy both.
    So please advise.
    Thanks,
    Prasad.

  • Synchronous call

    Hi,
    I am assuming no BPM is required. Secondly, do I need to do anything specific for a synch call from Sys A --> XI --> ECC and back??
    > Defined synch MI
    > Use MM for request /response
    > Using sender SOAP adapter which I presumse will also recieve the response!!
    m

    Hi,
    Check this weblogs for few synchronous communicaiton:
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    /people/community.user/blog/2006/12/12/http-to-rfc--a-starter-kit
    ---Satish

  • Session between multiple Webservice calls from PI7.0

    Hello XI SDNers,
    I am unable to overcome my Webservice session problem using SOAP (Axis) adapter. My scenario is as follows:
    I am calling a external Webservice deployed in Axis webservice engine from PI7.0, during my first call:  I call synchronous "Login" webservice and I became the response "User is Logged in"
    during my second synchronous call "GetItem", the webservice returns "The user doesn't have valid session". The two synchronous calls are executed from same scenario one after another!
    I lost my session after the "Login". Is there any way in PI 7.0 to maintain the session?
    Note: I tried the same scenario using XML SPY SOAP client, it is working!!!  it is maintaining the session between multiple webservice calls.
    Is there any suggestions to overcome this problem?
    Thanks and regards,
    Satish.

    Hi Satish,
       We are working on the same sort of scenarios, where we have to call more than one webservice in a sequential fashion using the same session id details.
        What we did was we built new xsds adding session details node using the webserive request and response xsds. And we are maintaining a sessions table which contains session id and  status fields in PI. So we send webservice request with the session id details. We wrote an UDF to get the session details from PI and set the status field as busy so that no other request uses the same session details.
       Webserive response again contains the sessions details which can be used for the next webservice request.
      Finally after all the calls set back the status to Active in PI table.
    Webservice Calls From a User Defined Function
    /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
    Hope this helps.
    Thanks,
    Vijaya.

Maybe you are looking for