Asynchronous to multiple synchronous calls

Hi,
so far , I've only done simple scenarios in PI.
Now , I need to make an asynchronous call from ECC to PI and then in PI , I need to call three web services,
1) authentify
2) read data
3) update data
Where operation 2 only is called if 1 is successful and 3 if 2 is successful.
I need to use an Integration Process for this ??
Any good recommendations for this scenario ?
What do I use to manage the errors ... advise users that an error occured in the web service calls. I beleive you can use an email alert for this.
Thierry

Hi Dagnino,
Yes it is possible. But as prateek mentioned there are more no. of chances where your integration might break. So rethink your design.
Also see this weblog:
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
Here instead of using rfc you need to use your webservice calls. So you will have 3 sync steps. Anyone may break. Also you can use trigger alerts from BPM itself. Please check this weblog:
/people/community.user/blog/2006/10/16/simple-steps-to-get-descriptive-alerts-from-bpm-in-xi
Regards,
---Satish

Similar Messages

  • Http-xi-RFC synchronous call - multiple records ?

    Hi Gurus,
    Can we have multiple records processing in RFC synchronous call ? for ex, BAPI_COMPANY_GET_DETAIL. I want to feed multiple company ids and get the responses in browser.
    I have changed cardinality in message mapping and interface mapping as <b>o to unbounded.</b> Tested the same which works fine.
    But, <b>when I activated the interface mapping, I get an error</b> which says I can not use multi mapping in synchronous RFC call.
    what is the alternative ? please help.

    HI,
    It is better to use the RFC lookup in mapping and get the multiple records , i men each one for one lookup , so that in your mapping use UDF for RFC lookup.
    see the below link
    Lookup - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Also read thru this to get more idea on lookups - http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0
    Lookup’s in XI made simpler - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    /people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api
    Lookups - /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    Lookups - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Lookups with XSLT - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
    Regards
    Chilla

  • Reg : "Error multiple Receivers are not allowed for Synchronous calls"

    Hi All,
    Can somebody tell me why I am getting this error "Error multiple Receivers are not allowed for Synchronous calls" when I am using Synchronous Soap Request to WebService and the response from webservice is being sent to multiple receivers which are Business services based on Receiver determination condition(Services W/o Party).

    Hi , If you are simply looking up data (and not updating tables ) using RFC you can use RFC Lookup APIs to create a java mapping
    The source message has to be a RFC request message interface and target should be RFC response message interface.
    Also you can use three step mappings in a single interface mapping.
    1. from your request message to RFC request message mapping
    2. java mapping which will do the lookup and give you rfc response back
    3.rfc response to your target response mapping.
    PS: RFC lookup can be used if there are not may hierarchy in the RFC Response structure. (i.e. may be 3 or 4 level nesting permitted)
    To help you further
    The following is a link which gives you access to a ready made source code. you just need to compile it and create a jar and import the mapping in imported archive
    http://knowhowsapxi.synthasite.com/rfc-loolup.php
    Edited by: Progirl Progirl on Oct 31, 2008 1:33 PM

  • BPM: Multiple synchronous receivers

    Hi Friends,
       I am trying a scenario : File --> XI > RFC(Multiple Receviers)> File(single).
       Can i send the message to multiple synchronous receivers using BPM. My Scenario goes like this...
    1). Send file to XI.
    2).Use BPM to send it to RFC(Multiple Synchronous Receivers).
    3).Send this response to Asynchrounous Receiver ( Write the response to a File using time stamp. So that all the response messages can be written) .
       Is it possible to do this using BPM... Ofcourse i have done a scenario for Multiple Asynchronous receivers using receiver determination and block step in BPM..

    Hi,
    You can use send synchronous call in your scenario.
    The point is, there can be multiple synchrounous calls from the send step.
    You would need a way to distinguish the 1st response from the second response. Therefore,we need to make use of correlation.
    After the send step, we need to use a receive step(with correlation), which will receive only the response corresponding to the correct request.
    Basically we are using the receive step with correlation here, to make sure that, we donot receive and process, the 2nd response(or 3rd or 4th response) for the 1st request.
    You said, your scenario is not working. Where exactly are you getting the error.
    Regards,
    Smitha.
    Message was edited by: Smitha Rao

  • How to loop through single XML File and send multiple RFC calls?

    I am looking for the best approach to use for making multiple RFC calls (can be sequential) using a single XML file of data.  I have been attempting to get a BPM loop working, but to no avail.  My RFC only accepts a single set of delivery input and I have been told to try to work with it as is.
    input xml sample:
    <?xml version="1.0" encoding="UTF-8"?>
    <ProofOfDelivery>
       <POD>
          <delivery_number>1</delivery_number>
          <carrier_name>UPS</carrier_name>
       </POD>
       <POD>
          <delivery_number>2</delivery_number>
          <carrier_name>UPS</carrier_name>
       </POD>
    </ProofOfDelivery>
    I need to make a synchronous RFC call for each set of POD data.
    Thanks in advance!

    Thanks for the inputs.
    I tried with a BPM and multi-mapping transformation before a ForEach block.  I am getting this error:
    Work item 000000028028: Object FLOWITEM method EXECUTE cannot be executed
    Error during result processing of work item 000000028029
    com/sap/xi/tf/_ProofOfDeliveryMultiMapping_com.sap.aii.utilxi.misc.api.BaseRuntimeExceptionRuntim
    Error: Exception CX_MERGE_SPLIT occurred (program: CL_MERGE_SPLIT_SERVICE========CP, include: CL_
    Probably because I am not making/using the container objects properly.  Here is a screenshot of my BPM.  Can anyone spot my issue or point me to an example on this sort of container use?
    [http://kdwendel.brinkster.net/images/bpm.jpg|http://kdwendel.brinkster.net/images/bpm.jpg]
    Thanks

  • 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

  • Multiple BAPI calls in RFC Adapter

    Hi, Dear Friends!
    I have asynchronous scenario File to RFC(BAPI).
    File contains raws. For each raw I need to execute BAPI.
    With the help of each raw I need to construct one document in R/3 database with the help of BAPI.
    But now my scenario provide only one document (only one BAPI is executed).
    I read file to xml structure. This structure contains elements. The elements represent raws of file. But BAPI is executed only for the first element.
    How to explain to XI that I want it impement BAPI <b>N times</b> - as number of raws in file (or elements in xml structure).
    So how to implement multiple BAPI calls. Have you any idea?
    Thank you in advance.
    Natalia Maslova.

    Hi Natalia
    have a look on these links
    http://help.sap.com/saphelp_nw04/helpdata/en/43/b46c4253c111d395fa00a0c94260a5/frameset.htm
    Best Design : for a SOAP -XI - BAPI ( Multiple )
    Re: RFC adapter...How it handles multiple calls...
    Re: Multiple BAPIs and COMMIT in BPM
    Re: Is it possible to compose XML in BPM from responses of multiple BAPI calls?
    Multiple BAPI calls in RFC Adapter
    may be helpful
    Thanks !!!

  • Maintain session in Multiple soap calls

    Hi Experts,
    We have an requirement which runs 2 synchronous calls.
    1st synchronous cal is for validating user credentials and
    2nd synchronous call (for successful log in) for uploading data in R/3 system.
    The main task is to maintain session(ex: time 15 mins) .
    1st synchronous call looks like Mobile Application (soap sender)<--->PI<----->(Soap receiver)Active Directory.
    2nd synchronous call looks like Mobile Application (Soap sender)<--->PI<----->(Proxy)R/3 system.
    can you pls let me know how can I achieve this requirement and
    how to maintain session ID, session (is it in PI or in third party) and from where to maintain session.
    Thanks in Adv..

    I am calling multiple web service apis from my bpel process on the same link. The Web services are written such that I always have to call a "login" api first which creates a context that's maintained throughout the session. Thus subsequent ws calls have to be made in the same session because all the other web service apis require the context to be present.
    You can think of this as a stateful SessionBean (sort of).
    The question is does bpel support this?

  • Make synchronous calls using JCo

    Hi everyone,
    I have done an integration project using JCo talking to the SAP system. The task would be creating a document (BAPI_DOCUMENT_CREATE2), and then checking in the content (BAPI_DOCUMENT_CHANGE2). I found sometimes the document created in step1 did not exist or was locked, then step2 failed.
    I checked the JCo Javadoc, and found that JCo.client.execute(function) would make synchronous call to the SAP system. I supposed that it would make the second call only after the first call finishes.
    Am I right about the assumption?
    Could someone share some ideas about this as well as the transactional mode (asynchronously) call where JCo.client(function, tid) is used?
    Thanks in advance.
    Xueqing Han

    Hi hanan20,
    Welcome to the Microsoft Mobile Community.
    Let's isolate the issue. Are you unable to make any calls regardless of the signal strength and your location? Were you able to receive calls, send or receive text messages? Are you using a regular Micro-SIM or a modified SIM? Have you tried the workarounds given on the link below?
    • I cannot make a call
    Note: The link is intended for the Philippines. If you're outside this country, you can visit your local support for future reference. See: Local support.
    We look forward to your reply.

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

  • How to differentiate multiple aRFC calls into the same session.

    Hi experts,
    I have following problem:
    I start multiple aRFC calls in the same remote session by using the same task ID for each call and use
    KEEPING TASK when receiving the results.
    The calls are all of the same RFM (e.g get_status of obj), just calling parameters changes ( in the generic example, the parameter: obj).
    In the receive method, I differentiate to which obj the result is related by exporting the obj_id on success of the RFM.
    My problem is when the status call fails. I just get an error message explaining what the problem is. But I don't get the exporting parameters.
    Do you have any idea how to solve this problem?
    kind regards,
           Sahla

    This is actually the workaround I made to go on.
    Actually the underlying logic in the RFM for getting the status is based on a synchronous call, as to say when you get the exception you know of which request it comes from.
    Therefore the exception messages and their parameters are well defined and according to the error situation filled with necessary data explaining the exception situation.
    Unfortunately the excpetion class used is based on the message T100 interface and has the limitations of just four message parameters and each of 50 charcter length.
    I overwrite the last message parameter with the needed obj parameter, taking the risk to overwrite valuable system responses explaining the situation.
    I thought there could be a more elegant solution from the framework itself.
    kind regards,
         Sahla

  • 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 Call Timeout but the PO still created in ECC.

    Hi PI Expert,
    I have problem with synchronous call (Web Service -
    > RFC). Sometimes if the processing time in ECC take longer time the  webservice will throw exception timeout but then the processing stil continue in receiver communication channel until success.
    So if you use SXI_MONITOR you can see 2 transaction, Sender web service error timeout and RFC success.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
      <SAP:P1>500</SAP:P1>
      <SAP:P2>Timeout</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:Stack>HTTP response contains status code 500 with the description Timeout Error while sending by HTTP (error code: 500, error text: Timeout)</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    But the RFC communication still able to continue until succes. Supposed to be both error if the sender communication channel timeout ?
      - <ns0:Z_MM_STO.Response xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
      <EX_RESULT><RETURN><item><TYPE>E</TYPE><ROW>0</ROW><PARAMETER>POHEADER</PARAMETER><MESSAGE>0100905701</MESSAGE><MESSAGE_V1></MESSAGE_V1><MESSAGE_V2></MESSAGE_V2><SYSTEM></SYSTEM></item><item><TYPE>E</TYPE><ROW>1</ROW><PARAMETER>POHEADER</PARAMETER><MESSAGE>External document number 100905701 already assigned</MESSAGE><MESSAGE_V1>100905701</MESSAGE_V1><MESSAGE_V2></MESSAGE_V2><SYSTEM>ECPCLNT300</SYSTEM></item></RETURN></EX_RESULT>
      </ns0:Z_MM_STO.Response>
    Please advise is that anything that i can check ?
    Thank You and Best Regards
    Fernand.
    Edited by: Fernad Lesmana on Aug 23, 2010 7:59 AM
    Edited by: Fernad Lesmana on Aug 23, 2010 8:00 AM
    Edited by: Fernad Lesmana on Aug 23, 2010 8:01 AM

    Hi Fernand,
    The last parameter (syncMessageDeliveryTimeoutMsec) you mentioned is for general timeout setting of RFC receiver calls (see note FAQ RFC Adapter: https://service.sap.com/sap/support/notes/730870). That one seems high enough in your case
    xiadapter.inbound.timeout.default is the default setting of 180 seconds, which is normally the default for all timeouts in PI.
    Normally in icm there's a setting for the http port (e.g. something like icm/server_port_x  prot=http,port=500xx,timeout=180,proctimeout=180)
    Can you confirm that one is higher then 60 seconds? (Just saw you saying something about 60 seconds before editing the posting)
    Best wishes
                  Sebastian
    Edited by: Sebastian Simon on Aug 26, 2010 1:24 AM

  • Error in synchronous call

    Hi XI-experts
    this is the error i get when executing an synchronous call of an RFC.
    Involved systems are XI and CC1
    have anyone had the same issue?
    Trace level="1" type="System_Error">HTTP-Client: exception during receive: HTTP_COMMUNICATION_FAILURE
    regards
    Gwen

    Make sure that u have done all the ALE configurations in R3 System and XI.
    Refer this blog for more info..
    /people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi

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

Maybe you are looking for