Async/Sync Operation with SOAP?

I have created a service interface with two operations. An Asyn iDoc operation and a Sync RFC operation. I've created a web service which the partner references. If I configure the SOAP commsn channel as Best Effort (Synchronous) then the iDoc Operation returns an error 'Only asynchronous processing supported for IDoc adapter outbound processg' BUT the RFC operation works. If I configure the web service as Exactly Once (Async) then the iDoc operation works perfectly but the RFC operation doens't return a response, it becomes Async.
Any idea how I can have an Asyn and Sync Operation in the same Service Interface, Using the same SOAP comms channel?

I do not want to tell something wrong. I have not much experience with that topic.
maybe there is something new in PI 7.11 that I do not know.
In PI 7.0 the SOAP adapter determines the QoS from channel config or from URL parameters. The SOAP adapter does not read repository and so does not know, if an interface is sync or async.
This is different, when you use WS-RM adapter with ABAP/Java proxies. Here you can use the same interface for sync and async operations.

Similar Messages

  • Async/Sync Bridge with SOAP response

    Hi All
    I have a interface that uses BPM for async/sync bridge(SOAP->RFC->IDOC). I now need to change this to send response back to he webservice.
    Any ideas on how to achieve this?
    Regards

    avoid the BPM.
    just do a simple SOAP to RFC scenario here - Walkthrough - SOAP  XI  RFC/BAPI

  • Async-Sync conversion: JMS-SOAP-MAIL

    Hi all,
    I'm making a async-sync scenario:
    JMS-SOAP-MAIL
    The SOAP interface is synchronous and JMS and MAIL are asynchrnouse.
    I have configured the sender JMS adapter as following:
    Modules
    <b>1- AF_Modules/RequestResponseBean - Local Enterprise Bean - 1
    2- CallSapAdapter-Local Enterprise Bean - 2
    3-AF_Modules/ResponseOnewayBean-3</b>
    Parameters
    <b>1 - passThrough - true
    3-receiverChannel - Receiver Mail Adapter Name
    3-receiverService - Receiver Business Service/ System</b>
    But I got such errors in the adapter:
    <i>2007-08-29 18:56:13     Success     Using connection JMS_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2007-08-29 18:56:13     Success     The XI response message for message bf7c9ea0-5650-11dc-8fae-001438c505fb(INBOUND) was successfully returned to the calling application.
    2007-08-29 18:56:13     Success     The message status set to DLVD.
    2007-08-29 18:56:13     Success     ROB: entering ResponseOnewayBean
    2007-08-29 18:56:13     Success     ROB: resuming the transaction
    2007-08-29 18:56:13     Success     ROB: calling the module processor ...
    2007-08-29 18:56:13     Success     MP: Entering module processor
    2007-08-29 18:56:13     Error     MP: Exception caught with cause com.sap.aii.af.service.cpa.impl.exception.CPAObjectKeyException: Value of key must not be null: ObjectId
    2007-08-29 18:56:13     Error     ROB: error during processing: com.sap.aii.af.mp.processor.ModuleProcessorException: Processing Error caused by: com.sap.aii.af.service.cpa.impl.exception.CPAObjectKeyException: Value of key must not be null: ObjectId</i>
    Any idea?
    Thanks!
    Regards,
    Hui

    Hi,
    Instead of using a JMS adapter can you try this with a File Adapter on the sender side?
    It worked for me with a File adapter or alternately try looking into this blog if it helps ( not sure if it will  tho)
    /people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
    Regards
    Bhavesh

  • Questions async-sync bridge with JMS

    Hi all
    SAP recommends using JMS rather than BPM to make async-sync bridge or sync-sync bridge. But how to use it in real life?
    For example, I have an async RFC function to call a sync SOAP function and the sync response  should be passed to a mail receiver. I know how to use BPM to achieve this scenario. But how should we use JMS or can we use JMS to do the same thing?
    Another question: If we use SAP own JMS service to make async-sync scenario, we need a sender JMS adapter and a receiver JMS adapter. Are the sender and receiver connected to the same queue in JMS or different queues?
    Thanks!
    Regards,
    Hui

    Hi Hui!!
    have a look in these Url's
    <b>sync/Sync Bridge in the Sender JMS Adapter</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/45/20d251c20a0732e10000000a155369/frameset.htm
    You can get some idea on these links also
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - Use of Synch - Asynch bridge in ccBPM
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] - Use of Synch - Asynch bridge in ccBPM
    Go thru following Weblogs:
    1.Walkthrough with BPM:- /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    2./people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    3./people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
    4.https://www.sdn.sap.com/sdn/weblogs.sdn?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    <b>Sync/Async communication in JMS adapter without BPM</b>
    /people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
    this thead also
    Async/sync bridge

  • Async/Sync scenario idocs- soap

    Greetings All,
             I have a scenario (on PI 7.1) where i needs to send a ZIDOC data from ECC to external web service. The web service returns response back on successfully processing the data. There is no need to update anything received from the response back to ECC (response is just a record no).
         Is it possible to achieve this without using BPM?
    (Note: I am using Java mapping to develop SOAP envelope after message mapping, as I need to add some parameter to soap header of request structure)
        I am ready with scenario (without BPM), the operation Mapping is having idoc at sender side and service interface which soap wsdl on receiver side. I did not have any mapping from response to ECC. I am not sure if it going to be work for me or not.
    I am waiting for your inputs/help and will be appreciated.
    Many Thanks,
    Sandip

    >>>Is it possible to achieve this without using BPM?
    Yes. It is possible to do idoc to soap without using BPM. You basically want asynchronous scenario.
    >>> I am not sure if it going to be work for me or not.
    >>>I am waiting for your inputs/help and will be appreciated.
    Theoratically you can ignore the response from webservice by not doing response mapping. You might see some errors  that message got interrupted in Integration Engine. I guess

  • Async-Sync scenario with out using BPM

    Hi All,
    With SP19 we can implement File-RFC-File scenario with out using BPM.
    But can any one suggest how can I implement the following File-RFC-File scenario without using BPM.
    My input file has five elements. A1,A2,A3,A4,A5
    The RFC (BAPI) needs A2 and A3 as input and it produces the output R6.
    Now in the destination I need to populate D1,D2,D3,D4,D5,D6.
    D1 has to be mapped from A1 and so on till fifth element. D6 will be mapped from R6. In order to achieve this we need to store the value of source interface before calling the RFC so that when we get the response back we can populate the entire destination structure.
    Can anyone advise how to go about it. I don't want to use a BPM here.
    Thanks
    Abinash

    Hi
    the following thread may help you
    Weblog to send Response from RFC to File in Asyn Mode Using Proxy [original link is broken]
    File - RFC - File without a BPM - Possible from SP 19.
    Thanks,
    Ram

  • Async/Sync Bridge JMS/File

    Hello,
    An Async/Sync Bridge with usage of the JMS adapter is described in several blogs. Is there a chance to use the JMS Adapter as a sender system and a File Adapter as the receiver system in such a scenario?
    Any suggestions are appreciated.
    Peter

    This "How To" Wiki should help you with the parameters you will need in the JMS Adapter.
    http://wiki.sdn.sap.com/wiki/display/XI/HowTo...ContentconversionmodulewithJ2EEJMS+adapter
    You can go to/from files with no problem, and you don't need the Business Process Engine.

  • One Service Interface with SOAP (sync/async)?

    Hi experts,
    Iu2019m configuring the following scenario SOAP -> PI 7.1 -> ABAP proxies.
    My Service Interface has four different operations, 1 is sync and 3 are async. I want to use SOAP adapter as I donu2019t need to use WS-RM and WS-A of WS adapter. So, I have two SOAP communication channels (sync/async). But, when I try to create the sender agreements, PI only let me to create one, as the second has the same name Iu2019m not able to do it, it tells me that the object already exists.
    How can I create this scenario where an outbound service interface has several operations with different Quality of Service (sync/async)?
    Anyone has faced this situation before?
    Thanks in advance,
    Ricardo.

    When you have one interface with several operations, you need only to have one sender agreement with that interface.
    The mapping is based on operation, not on interface. You can have different receiver interfaces, or one receiver interface with several operations.
    The QoS can be added in the target URL, when you have the chance to apply different URLs based on the operation in the client.
    Regards
    Stefan

  • Proxy-Soap-Jdbc  Async/Sync Bridge

    Hi,
    I have proxy soap requestsoap response-jdbc syncronous scenario. i have used async/Sync bridge for that.
    I m getting NO_RECEIVER_CASE_ASYNC, No receiver could be determined error.
    I have created :
    2 Datatype for proxy sender and jdbc receiver and 2 MT
    6 Service interface :
            one abastract syncronous for proxy sender and jdbc receiver
            one abstract asyncronus for proxy sender
            one outbound asyncrous for proxy sender
            one abstract asyncronus for jdbc receiver
            one inbound asysncronus for jdbc receiver
            one abstract syncronous for SOAP request and response
    2 message mapping for request and response
    1 operation mapping  using  abastract syncronous for proxy sender and jdbc receiver with   abstract syncronous for SOAP request and response
    BPM steps
    two container request and response
    receiver- send1- send2
    receiver for asyncrous and file request
    send1 for syncrouns for request and response
    send2 for asyncrouns response.
    Activated the IR.
    ID Part.
    Imported BPM from Design and created two business component one for SOAP receiver and one for proxy sender and jdbc receiver.
    Created 3 Reciver Determination as proxy sender to bpm, bpm to soap, bpm to jdbc receiver.
    Created 3 IInterface Determination as proxy sender to bpm, bpm to soap, bpm to jdbc receiver.
    Created 2 Receiver Agreement as  bpm to soap, bpm to jdbc receiver
    Activated and run the proxy . in sxmb_moni i m getthing No receiver could be determined error.
    I have checked the BPM ,No semantic errors found.
    cleared the cache with sxi_cache and full refresh url.
    Please suggest me with above details.
    Regards
    Laxmi Bhushan Jha

    like in operation mapping we have abstract syncronous interface which has proxy as sender and jdbc as response
    receiver to SOAP reuest and response...
    Either of us seem to be confused!
    This is your scenario (as per my understanding)
    Receive (Proxy_message) --> Transformation --> Send (Mode = Sync...SOAP message) --> Transformation --> Send (mode = Async..JDBC req)
    If the requirement is correctly understood by me then:
    You should have one ASYNC-Outbound and ASYNC-Abstract interface for your Proxy-side.....proxy to be developed on the ASYNC-Out interface.
    You should have a SYNC-ABS and SYNC-IN interface for SOAP req and resp.
    You should have one ASYNC-IN and ASYNC-ABS interface for your JDBC side.
    Mapping to be developed between PROXY_Async and SOAP_Req_Async & SOAP_Resp_Async and JDBC_Async.
    Regards,
    Abhishek.

  • File-SOAP-File Async/Sync Bridge : Null Pointer Exception

    Hi All,
    I have a File-SOAP-File scenario (Async/Sync Bridge). This scenario was working fine in PI 7.0. However since the time we have upgraded to PI 7.1, this scenario has been failing.
    I do receive a response for web service, however the sender File adapter fails after initiating Response bean.
    2010-08-04 12:16:02 Information MP: processing local module localejbs/AF_Modules/ResponseOnewayBean
    2010-08-04 12:16:02 Information The message was successfully transmitted to endpoint http://vs06cs01.sce.com:8000/sap/xi/engine?type=entry using connection File_http://sap.com/xi/XI/System.
    2010-08-04 12:16:02 Information The message status was set to DLVD.
    2010-08-04 12:16:02 Error MP: exception caught with cause java.lang.NullPointerException:
    2010-08-04 12:16:02 Error File processing failed with java.lang.NullPointerException: 
    Our Current PI level: 7.10.7.33
    Patch Level: 33
    Please advice.
    XIer

    Hi,
    Please go through all the settings for the modules once again - check for any space or other such character present or if some name is not correctly specified.
    If you still get the error, then make some change to the channel and re-activate.
    Also, make sure you are following the below sequence in the sender file channel-
    ModuleName                                                   Type              ModuleKey
    AF_Modules/RequestResponseBean      Local Enterprise Bean     1
    CallSapAdapter                                        Local Enterprise Bean     2
    AF_Modules/ResponseOnewayBean     Local Enterprise Bean     3
    Parameters
    ModuleKey                    ParameterName                   ParameterValue
    1                                       passThrough                          true
    3                                        receiverChannel                Receiver File Adapter Name
    3                                        receiverService                  Receiver Business Service
    Hope this helps.
    Regards,
    Neetesh

  • Async Sync Bridge without BPM (Proxy-Soap-Idoc)

    Hi,
    I have read some blogs how to do the Async Sync Bridge without BPM for JMS adapters. I have a requirement that I am getting a Async Proxy message to PI and then PI makes Sync Soap call then the result need to send through the Idoc adapter.
    Proxy - Soap- Idoc
    Here Proxy is a sender so no adapter required in the Config and also Soap is java based adapter and Idoc adapter is a ABAP based so I am not sure this is possible but I just wanted to check with you.
    Please let know if this is possible or not?
    PI 7.1 with EHP1
    Thanks,
    Laxman
    Edited by: Laxman  Molugu on Oct 14, 2010 2:15 PM

    The mapping programm can be defined as a user defined function. As sample of mine is "getGoogle()", which is doing some kind of address validation. The input parameter URL[0] contains source address. For that you need to import:
    org.apache.commons.logging.*;
    org.w3c.dom.*;
    javax.xml.parsers.*;
    org.xml.sax.SAXException;
    org.apache.commons.httpclient.*;
    org.apache.commons.httpclient.methods.*;
    org.apache.commons.codec.*;
    org.apache.log4j.*;
    Example code for UDF "getGoogle()" is:
    String sUrl = "http://maps.google.de/maps/api/geocode/xml?address=" + URL[0] + "&sensor=false";
    HttpClient client = new HttpClient();
    GetMethod method = new GetMethod(sUrl);
    byte[] responseBody = null;
        try {
    //      int statusCode = client.executeMethod(method);
    //      byte[] responseBody = method.getResponseBody();
    //     result.addValue(new String(responseBody));
    String sResponse = "initial";
    int statusCode = client.executeMethod(method);
    responseBody = method.getResponseBody();
    ByteArrayInputStream bis = new ByteArrayInputStream(responseBody);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = factory.newDocumentBuilder();
    Document doc = db.parse(bis);
    doc.getDocumentElement().normalize();
    NodeList nodeLst = doc.getElementsByTagName("formatted_address");
    Node formAdr = nodeLst.item(0);
    NodeList nlFormAdr = formAdr.getChildNodes();
    sResponse = ((Node) nlFormAdr.item(0)).getNodeValue();
          // Deal with the response.
        result.addValue(sResponse);
        } catch (Exception e) {
          result.addValue(e.toString() + "######## exhrenda - googleResponse:############### URL=" + sUrl+"###########"+new String(responseBody));
        } finally {
          // Release the connection.
          method.releaseConnection();

  • Idoc to SOAP Async - Sync - stuck @ bpm bridge

    Hi there,
    i'm implementing an SAP -
    Idoc / Async ---> PI -
    > Soap / Sync communication, the idea is that i update the Idoc Status back on erp using and status idoc, i got the whole scenenario working but the Async - Sync bridge part with the status idoc, i've been reading a lot but i cant seem to find a good tutorial that helps me implement the bridge, i found this tutorial :
    https://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without%20BPM%29
    do you guys think i can make a workround so i dont have to do a bridge, because performance is a BIG issue on this scenario and i've read that BPM degrades performance,
    Thanks in advance for all the input ill get
    Best Regards,
    Roberto.

    Hi Roberto,
    Idoc doesnot support the synchrnous call. What you can do is send an ALEAUD IDOCs  back as response. Please see this document for this:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f6d2d790-0201-0010-9382-b50b499b3fbe?overridelayout=true
    /people/saravanakumar.kuppusamy2/blog/2005/01/20/configuration-tips-for-a-business-serviceintegration-process-to-send-back-ale-audit-idoc
    Also search in SDN for ALEAUD and you may get some more information.
    Regards,
    ---Satish

  • Problem with JMS Correlation i Async/Sync bridge

    This is my scenario:
    I’m receiving a request message from the JMS-adapter and forward this via a async/sync bridge to CRM. I’m using a synchronous proxy in CRM. I want to send the response from this proxy back to MQ via the JMS adapter and put my original JMS Message ID in the JMS Correlation ID in the response message.
    I’ve read about how to configure this in the pdf-document “How to Correlate JMS messages”.
    I did as suggested and that is as follows.
    1.     In my receiver channel I set the Correlation Setting “Set XI Conversation ID To”=JMSMessageID.
    2.     In my integration process (“async/sync-bridge”) I set the Conversation ID in my async send step to the Conversation ID of my request message.
    3.     In my sender channel I set the Correlation Setting “Set JMSCorrelationID To”=XI Conversation ID.
    When I test my scenario I get the following error:
    “New JMS message cannot be correlated with the XI message although it is configured. Unable to set because correlation value is null. Correlation rule: XI_CONVERSATIONID, correlated property: JMSCorrelationID”
    I thought that my Conversation ID should carry the value of my initial JMS Message ID. I know that this is not null.
    Can somebody please help me?
    Kind regards.
    /Helé

    Hi Wallace,
    I tried to set the Conversation ID to the Correlation ID instead but I still get the same error.
    The sending application needs to correlate the request message with the corresponding response and since we are using MQ this is the way to do it.
    regards.
    /Helé

  • Async-Sync Bridge without BPM for SOAP WS and JDBC

    I heard you can now have async-sync communication outside of BPM by utilizing adapter modules?
    My scenarios are:
    proxy (async) -> SOAP WS (sync)
    proxy (async) -> JDBC (sync)
    I will like to capture the synchronous responses in XI and perform some basic error handling.
    I read h[File - RFC - File without a BPM - Possible from SP 19.|File - RFC - File without a BPM - Possible from SP 19.] and the release notes for 2004s SP19 and there is no reference to JDBC or SOAP.
    tia

    Hi Megha,
    Plz do refer the below links u will get an idea:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a05b2347-01e7-2910-ceac-c45577e574e0
    Sync/Async communication in Adapter without BPM (SP19)
    Sync/Async communication in JMS adapter without BPM (SP19)
    Async/Sync Communication using JMS adapter without BPM (SP 19)
    Async/Sync Communication using JMS adapter without BPM (SP 19)
    also try this
    Sync/Async communication in JMS adapter without BPM (SP19)
    File - RFC - File without a BPM - Possible from SP 19.
    Collecting IDocs without using BPM
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Have a look
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    HTTP to RFC - A Starter Kit
    Sync/Async communication in JMS adapter without BPM (SP19)
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    Do refer this thread:
    JDBC Async-Sync bridge does not work
    Reward if found useful
    Regards,
    Vinod.

  • BPM - problem with async/sync

    Hi,
    I have created one BPM async/sync with properties below.
    RFC (async) -> BAPI(sync) -> JDBC(async)
    My RFC start the process, (next step) BPM execute BAPI and response one list of companies, in next step, JDBC insert or update the companies in SQL Server.
    RFC
    ZPI_SYNC_DATABASE
    BAPI
    ZSD_GET_COMPANY - the bapi only have EXPORTING in your definition.
    JDBC
    MI_EAI_SD_COMPANY.
    When i execute the process, not occurs errors, but in BPE Message appears the GREEN FLAG (in outbound status) with hit "Message scheduled on outbound side", sometime appears in Status one GREEN FLAG with hit "Scheduled".
    If i delete Receive of BAP (step), the BPM execute full, and not occurs the problem above.
    Then i think the problem is in BAPI(step), but i dont know what can to do.
    Can everyone help me?

    Yeap,
    Is "New Transaction" checked in Send BAPI and Send JDBC, but the problem still occur.
    See you other example:
    I have createad one new scenario.
    IDOC -> JDBC
    IDOC
    ZCLIENTE.ZCLIENTE01 interface.
    JDBC
    MI_EAI_SD_JDBC
    MAPPING between IDOC and JDBC
    Senders and Receivers configured;
    I execute IDOC and one pass for mapping, no problem.
    But the not launch JDBC Adapter.
    I see in Message Monitoring and there arent errors, but hava one GREEN FLAG in STATUS with hit "scheduled"
    The same error but now without BPM.

Maybe you are looking for