How to capture SOAPFault in an Async/Sync Scenario without BPM

Hello friends,
My scenario is ECC (async) to SOAP (sync) and back to ECC (async = ALEAUD). I'm using aync/sync bridge is receiver SOAP adapter.
My scenario works fine with a normal response but when I get a SOAPFault as a response I get the following error in de receiver SOAP adapter:
Message processing failed. Cause:
com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the message's header fields (sender party: "", sender service: "NONSAP", interface: "urn:test,  SII_Test_Sync", receiver party: "", receiver service: "BS_ECC")
The configuration of my receiver SOAP adapter looks like this:
Did I use parameters interfaceOnFault and interfaceNamespaceOnFault correctly?
Your help is greatly appreciated,
Kind regards,
John

Hi Nilesh,
sorry for the delay. What I found every time i used the option "DO NOT use SOAP envelope is checked" is that the envelope is removed from request and response/fault messages as well. To solve those kind of errors I developed a module called ReplaceString. What this module does is to replace a string with another one passed as parameter. What do I archive with this? Well I sometimes use this module to include some parts in the xml message before it gets in PI. For example, lets say you receive something like this:
<FaultMessage>
<standard>
     <faultText>
     <faultUrl>
     <faultDetail>
          <severity>High</severity>
          <text>This is an error</text>
          <url></url>
          <id></id>
     </faultDetail>
</standard>
</FaultMessage>
and you are expecting something like this:
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<FaultMessage>
<standard>
     <faultText>
     <faultUrl>
     <faultDetail>
          <severity>High</severity>
          <text>This is an error</text>
          <url></url>
          <id></id>
     </faultDetail>
</standard>
</FaultMessage>
</soap:Envelope>
You could use this module to replace the following strings:
<FaultMessage>
by
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><FaultMessage>
And
</FaultMessage>
by
</FaultMessage></soap:Envelope>
If you find it useful, I can paste the code of the module here.
Regards!

Similar Messages

  • 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();

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

  • JDBC Sync - RFC Sync Scenario without BPM

    Hi Experts,
    I am using JDBC - RFC - JDBC Scnario. The concept is
    JDBC is reading data from tables and send data to RFC, after updating RFC is giving response to JDBC to update its tables.
    JDBC - RFC - JDBC.
    Is it possible to do this scnario without using BPM?
    Experts pls advise me.
    Regards
    Bala

    Hello Bala,
    These links are useful to you..
    JDBC Sender/Receiver adapter
    /people/saravanakumar.kuppusamy2/blog/2005/01/19/rdbms-system-integration-using-xi-30-jdbc-senderreceiver-adapter
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/jdbcTOJDBC&
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Thanks,
    Satya

  • Correlation issue in JMS adapter - SYNC/ASYNC scenario without BPM

    Hi,
    I am working on a SYNC/ASYNC scenario with JMS adapter without using BPM. My scenario is SOAP<>PI>JMS. I configured the interface as below:
    1. SOAP Sender channel
    2. JMS Receiver Channel writing to Queue A.
         Module used:      a. RequestOneWayBean
                   b. WaitResponseBean
         Correlation Settings:
                   a. Set JMS Correlation ID to "XI Message ID"
                   b. Store JMS CorrelationID of request (Checked)
                   c. Set JMS Property to "JMS Correlation Id"
                   d. Value = "XI MEssage ID"
    3. JMS Sender channel reading from queue B ( I am exporting the message from queue A and importing into queue B)
         Module used:      a. NotifyResponseBean
         Correlation Settings:
                   a. Set XI MEssage Id to "GUID"
                   b. Set XI Conversation ID to "Stored JMS COrrelationID of Request"
    I can see the cid in the message from queue A. But I observed thhat the header format of the message in Queue A is "MQSTR".
    ISSUE:
    1. While writing the message to queue A, below adapter log details(part b) concerned me:
         a. Message '8747a7c2-2b06-11df-8055-005056a70ed6' successfully processed by channel
         b. Could not create acknowledgements for message '8747a7c2-2b06-11df-8055-005056a70ed6'
    I am not sure why I am receiving the message that "  could not create acknowledgements"
    2. While reading the message from the sender channel,I consistently get the error message as below:
         a. XI message ID corresponding to JMS message with ID 'ID:414d51205341504449442e514d202020c67b954b20005602'
              will be created as a new GUID with value '21bca916-424f-41f6-3347-c71090392b58'
         b. Error while processing message '21bca916-424f-41f6-3347-c71090392b58';  detailed error description:
              com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
              found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    Below are the blogs which I have already gone through:
    1. JMS Synchronous Scenario without BPM - Correlation Settings and Transactional JMS Session
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b028f6f6-7da5-2a10-19bd-cf322cf5ae7b
    2. Note: 1086303
    3. Sync / Async Bridge without BPM
    In the note, they mentioned something about header being "MQRFH2". BUt in our case, the header is "MSSTR". Not sure whether it makes any difference.
    Please help.
    Edited by: GP on Mar 9, 2010 4:24 AM

    Hi,
    detailed error description:
    com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
    found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    This error would generally arose when there are multiple messages, got stuck in the outbound queue. Try to stop both the sender and receiver JMS comunication channels and clear both the inbound and outbound queues.
    Once all the messages in the queue are cleraed, try posting the message again.
    Regards,
    Swetha.

  • Is there Async-Sync bridge in BPM

    Hi ,
        I am trying this scenario in ccBPM(PI7.10
    JMS(Async)>MDM(Sync)>SAP(Sync)
    The reason I cant use it without BPM  is that message in JMS is needed in SAP step.I am not sure of messages can be persisted without a ccBPM.
    When I give receive step as Async,in next send (Sync call) ,I cant see any Syn Abstract interfaces even though i have declared one.Only Asyn abstract interfaces appear to chose container element as abstract type.
    In what way can I specify Aysn-Sync bridge in ccBPM ?
    Regards,
    Premjit

    the async / sync scenarios can be configured via two options;
    ref these
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Without BPM
    File - RFC - File without a BPM - Possible from SP 19.

  • Doubt on Aync-Sync Bridge without BPM

    I created a scenario using Aync-Sync Bridge without BPM:
    File(Asyn) => Rfc:BAPI_PO_CREATE1(Syn)
    1 which mode of message interface should be used in IR for File(Asyn)?
       Asyn or Syn?
    2 if syn MSG interface should be used in the above question,how can i return BAPI_PO_CREATE1.response which includes PO number to the sender?
    BTW:I had maintained the modules and their parameters(AF_Modules/RequestResponseBean and AF_Modules/ResponseOnewayBean)
    in RFC CC.
    Regards
    Ming

    Hi,
    1) You have to use synchronous interface.
    2) There will two message mappings(one request and one response) and one interface mapping between synchronous interface.
    3) All the corresponding modules should ve added in File sender communication channel not in RFC CC.
    Regards,
    Sudheer
    Message was edited by:
            Sudheer

  • How to implement Sync-Sync scenario in BPM? Please help!

    Hi Experts,
       I have a Sync-Sync scenario (SOAP - RFC) where both sender as well as receiver are synchronous.
       I have created outbound sender sync interface, abstract sender sync interface, Receiver abstract sync interface and Receiver inbound sync interface.
      In BPM I have started with Receive step.
      But in receive step I can give either Async Abstract interface or Open Sync-Async bridge. I am confused!
      How to implement my scenario in BPM?
      It will be really great if somebody can send me the step by step info or doc.
    Thanks & Regards,
    Gopal

    Hi,
    Refer this link
    use synchronous send step in your BPM - http://help.sap.com/saphelp_nw04/helpdata/en/43/6211331c895f6ce10000000a1553f6/content.htm
    RFC Scenario using BPM --Starter Kit
    http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1)
    RFC -> XI -> WebService - A Complete Walkthrough (Part 2)
    regards
    Aashish Sinha
    PS : reward points if helpful

  • ASYNC to SYNC scenario using BPM.

    hi,
    i have a async to sync scenario. i have a File sender->PI(BPM)->ECC and the response from ECC->PI->SOAP.
    Here in PI, i am using BPM. The ECC side is a Synchronous BAPI. The response is sent to the SOAP receiver.
    in BPM, can someone tell me how many transformation steps do i need i.e mappings. and how many abstract interfaces, synchronous interfaces, outbound interfaces, inbound interfaces?
    also how many send,receive and transformation steps.
    and in the configuration part,
    how many receiver determinations, interface determinations do we need.
    rgds,
    mithun

    Hi,
    File sender->PI(BPM)->ECC and the response from ECC->PI->SOAP
    Service interfaces
    -> SI_OB for file (Request)
    ->SI_IB for Soap(ASy Response)
    ->SI_ABstract(ASy Request)
    ->SI_Abstract (Asy Response)
    ->Si_REq_RES_ABS(Syn)
    ->SI_ABS(ASY BAPI REQ)
    ->SI_ABS(ASY BAPI RES)
    mappings
    one for request mapping(file Req to BAPREQ) and one for response mapping(BAPI REs to RESponse mSg).
    operation mappings-2, one for Req MApping ANd One for Res ponse mapping.
    IP
    reciv->transformation(REq)->Send(SYN/ASYN)->transformation(RES)->Send
    ID:
    3 reciver deteminations
    one for file to IP
    IP to ECC and IP to SOAP
    3 interface determinations
    1 sender agrement
    2 reciver sgrements
        one for IP to ECC
    and IP to SOAPregards,
    ganesh

  • Error from BPE Adapter using in Async Sync scenario

    Hi,
    I'm trying to use a Asyn Sync pattern with BPM:
    1)File adapter get a file from AS400, split it several XML messages and send to XI(Async)
    2)XI get each message and forward to BPM using XI adapter
    3)BPM has to send the message to R/3 via BAPI (Sync)
    4)R/3 reply the result message to BPM(Sync)
    5)BPM has to send the result message to e-mail system if an error had occurred in BAPI call (Async)
    When I send directly from File adapter to R/3 works like a charm, but when I want use the BPM, a soap header error says to me, that cannot identify a data type that I’m using in the message sent by File adapter.
    The error that I'm getting is BPE Adapter UNKNOWN_MESSAGE in soap header.
    Regards,
    Eduardo

    I got the same problem after installing new patches.
    This is what I had to do:
    Go to SXI_CACHE
    - Choose Business Processes
    - select your Buisness Process
    If your buisness process has Return Code 99
    - Click "Repeate Activate" button
    - On the next screen, click Activate again.
    This worked for me. Good Luck!

  • How to handle system exception in Sync communication without BPM? Help!

    Hi Experts
       I have a Synchronous scenario in XI: webservice <------>RFC SAP R/3.
      Webservice is making a sync call to RFC FM in SAP R/3 system.
       I want to handle system exception when SAP R/3 is down and send an email alert.    
       Can I achieve this in graphical mapping without BPM? How? Kindly provide necessary steps/screenshots for the same.
       Are there any other alternatives for handling system exception apart from mapping and BPM?  
    Thanks
    Gopal

    Hi GopalKirshna,
          Yes,You can handle the Exception if at all you are using the RFC.You can achieve this without using BPM.
       Using Fault message you can catch the System Exception and even the primary role for Fault Message is to catch the RFC Exceptions.
       Please refer the Fault messages Notes to achieve this you will understand better.
    Hope I am clear.
    Please let me if you have any more queries regarding this..!
    Thanks and Rewards,
    Chandu.

  • 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

  • How to Captured Value into Select-Options Range Table Without "Enter"

    Hi,
    I defined a set of Select-Options in the Web Dynpro. I found that the value for the Select-Options will not be captured whenever I manually type in the value instead of choosing it from F4 Help Drop Down.
    However, this problem can be resolved if I manually type in the value for Select-Options in the Selection Field and I press "Enter". Without pressing "Enter" value will not be captured.
    Any solution for this issue? Please help.

    Hi Kris,
    My problem is only when the user key in the value themselves rather than choosing it from Select-Options drop down value. Most of the time user will know what value to key in and will skip the step to choose from the Drop Down List. Thus, if this happen, the value keyed in by the user will not be able to capture into the range table.
    I am using this logic to capture the value for selection item:
      wd_this->m_helper->get_selection_screen_items(
        IMPORTING et_selection_screen_items = lt_sel_item ).
    * Values From Selection Screen
      LOOP AT lt_sel_item ASSIGNING <fs_sel_item>.
        CASE <fs_sel_item>-m_id.
          WHEN `PERNR`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_pernr>.
          WHEN `BUKRS`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_bukrs>.
          WHEN `STAT2`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_stat2>.
          WHEN `WERKS`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_werks>.
          WHEN `BTRTL`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_btrtl>.
          WHEN `PERSG`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_persg>.
          WHEN `PERSK`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_persk>.
          WHEN `ABKRS`.
            ASSIGN <fs_sel_item>-mt_range_table->* TO <fs_abkrs>.
          WHEN `BEGDA`.
            ASSIGN <fs_sel_item>-m_value->* TO <fs_begda>.
        ENDCASE.
      ENDLOOP.
    E.g. User key in the BUKRS without using the Drop Down Value provided by the Select-Options. For this case, <fs_bukrs> table will be initial as no value is captured.
    Edited by: Girish Nabar on Apr 21, 2011 8:55 AM

  • 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

  • IDOC to Soap  Webservice (Async/Sync scenario)

    is any can provide somesteps please

    Refer this thread
    Synchronous IDoc -> SOAP scenario
    Regards
    Aashish Sinha
    PS : reward points if helpful

Maybe you are looking for

  • How can I delete a photo folder from my iphone 4s?

    how can I delete a photo folder from my iphone 4s?

  • Sprint Navigation can no longer find my contacts...

    smkranz I am a volunteer, and not an HP employee. Palm OS ∙ webOS ∙ Android

  • Automatic Sloc creation...........

    I am trying to establish automatic sloc creation for this, I have done the below configuration in IMG:- Material Management -> Inventory Management and physical Inventry -> Goods Recipt -> Create Storage Location Automatically then enable the plant a

  • Firefox opens a blank tab when I open a pdf in adobe.

    First of all, I have already gone into the setting and disabled the pdf viewer in Firefox and have it set to open in Adobe. However, when I click on a pdf attachement in an email or anywhere, the pdf now opens in adobe BUT, firefox still opens a blan

  • Hooking up to HDTV

    I hooked up my laptop that has a blue ray player and an HDMI port to a HDTV.  It doesn't look right.  Does the signal that comes out of the laptop affect the 1080p on the HDTV?  The HDTV is 120 hz and the laptop is 60 hz.  I just figured the signal t