Fault Messages/Response handling in File-XI-SOAP scenario

Hi
I have a File-XI-Webservice scenario.
Suppose I am sending a call "Request" to the webservice with 4 fields a,b,c and d. If the call is succesful we get an epmty "Response" back. Suppose any of the fields a,b,c or d are missing then the webservice throws an "AccountUtilsException" with a message "Required data 'c' missing". I want to be able to capture this message in a file.
I tried using asynchronous scenario first but that didnt work. I didnt get an empty response back for successful messages, neither did i get an error in sxmb_moni for missing data. Only the SOAP adapter would be red and the error "UNKNOWN ERROR" would appear. So I created a BPM with  a receive, send-sync, send steps. With the AccountUtilsException set up as the response. Now, when all the data is good everything is successful and a file is created with the empty "Response" xml. When any of the fields is missing I see errors in sxmb_moni with Message class "Application error". But when I go into the payload I cannot see the xml. Instead it says "Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later." When I click view source I see the xml with the message "Required field c is missing". A file is also not written. Can anyone help me figure out what I am doing wrong?
Thanks,
Jahnavi

Hi Jahnavi,
yes, the asynchronous scenario cant work because there is no answer.
I think you should have  exception types in your interfaces and map the fields of the exception. I m not shure if the answer of the webService in case of exception (AccountUtilsException) is a xml msg, you shoud be able to find out that at RTW message monitoring. You should be able to put that into a the exception type of the interface. Another possiblility to pick the exception up would be an alert.
Regards,
Udo

Similar Messages

  • Error handling in File - XI - SOAP scenario without BPM

    Hello!
    We have a File -> XI -> SOAP scenario without BPM. The problem is that if the Web Service sends back an error XI tries to reprocess the same message again and again instead of taking the next one.
    We do not want set the retry interval to NULL because most error cases are temporary connection problems and then also those messages would not automatically be reprocessed any more.
    We also have to use BE instead of EO, otherwise the Web Service will not return a response. But we need the response to be sure that the processing was successful. The message volume in this scenario is quite high and we do not want to use BPM only for the error handling.
    I know that from SP19 some additional adapter modules are available for async - sync scenarios without BPM. I tried to configure it like described in File - RFC - File without a BPM - Possible from SP 19. but it did not solve the problem. Does anybody have any other ideas? Thanks.
    Regards, Tanja

    Hi Tanja,
    >>>The volume is 3000 messages/day on business days and 700 messages/day during weekends but the traffic will increase in the future
    I think, you should check that out. It is assumedly only 2 days work to build a scenario:
    IDoc -> BP
    BP <-> SOAP/HTTP
    BP -> IDoc (Acknowledgement)
    In the process you need a condition branch, where you decide success or not. You need 2 Interface Mappings for filling the ALEAUD.
    Just send 1000 IDocs to the Test-XI and look to performance monitoring at Runtime Workbench, to find out, how many message will be processed in one hour. Assumedly 3000 and more per day should be possible. The advantage would be to reduce number of systems (no file system) and messages (better monitoring) and using the standard (better maintenance).
    >>>So you are suggesting I should use HTTP adapter and then add the SOAP header manually in a mapping?
    Yes, build the SOAP envelop during the mapping. Most easy is to use XSL or, if your mapping is ready, an additionsal XSL. You can put the error into the Acknowledgement to see it in ERP transaction WE02.
    Filling of ALEAUD fields:
    E1ADHDR/MESTYP: original message type
    E1ADHDR/E1STATE/DOCNUM: original IDoc number
    E1ADHDR/E1STATE/STATUS: 68 in case of error, 53 in case of success
    E1ADHDR/E1STATE/STATXT: Short description for R/3 user what has happend
    I ve done such a scenario several times. That works without any problems.
    Regards,
    Udo

  • Fault message type using in File to IDoc Scenario

    Hi,
    I have successfully configured File to IDoc scenario. Now I am thinking to add some flavour to it by using Fault message type.
    Can I use fault message type without using any proxies?
    Can some body help in giving an answer to my question and provide some weblogs to achieve the configuration?
    Thanks in advance.
    Suraj Kumar

    Hi Suraj,
    With IDOCs, you cannot set up fault messages as it is async mode communication. There is not control which waits for the processing of the message/application errors as you have it in case of synch mode.
    But, you can set up acknowledgement using ALEAUD. Check this for more /people/saravanakumar.kuppusamy2/blog/2005/01/20/configuration-tips-for-a-business-serviceintegration-process-to-send-back-ale-audit-idoc
    praveen

  • Sync File to SOAP scenario

    Hey guys
    i m doing a Sycn FIle to SOAP scenario(i guess i need BPM for that,right?)
    lemme know if my configuration is correct
    For sender FIle:
    DT_sender,MT_sender,MI_sender,AI_sender(async)
    For SOAP
    DT_soap,MT_soap,MI_soap,AI_soap(sync)
    For Receiver file
    DT_receiver,MT_receiver,MI_receiver,AI_receiver.
    and BPM would be
    start>>Receive>>Sync send>>send>>stop
    and ofcourse i need to import the WSDL for the webservice.
    is this all,or i need to do some other designing too?
    thanx
    ahmad

    Ahmad,
    The weblog says you are sending a request from R3 using RFC. Then it gives back you the response from the webservice.
    So first you have two scenarios:
    Request:
    Source:  No datatype needed because you are importing the RFC.
    Target: For this you need the datatype. Just create the datatype what he has mentioned.
    Response:
    Source : Just copy and paste the xsd. You import as an external definiton.
    Target: Since your RFC is a synchrounous you will have the response for it. That is your target.
    Then after that you do message mappings for request and response and then the interface mapping.
    You dont need to have BPM for this interface. So dont worry about BPM for this interface.
    Then you complete all the steps given in his weblog2. Then test it out.
    ---Satish

  • File to SOAP scenario question???

    Hi,experts
    let's take source system is A,target system is B.
    I have a File to soap scenario using BPM,the scenario is send file request(from A) to PI,PI will be communicating target system(B) with soap(syn).After that, PI receives the soap response and send the response data to A.
    Now the requirement is, we need to archive the file request msg(before sending to B) to a folder and archive the response msg(response from B) to a folder as well.how could it be achived?
    any help will be much appreciated!
    Thanks

    Hello Rajesh_V2009 ,
    I am trying to implement exactly the same pi scenario, but having some problems :
    File -> file adapter -> ccBPM -> soap receiver adapter -> web service request -> web service response -> ccBPM -> output file adapter.
    The web service that I call works file from wsnavigator. I have created all the design and configuration objects
    needed for the scenario.
    I place a file with following contents:
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Body>
    <pns:GetSetNameWS xmlns:pns="urn:file2soap2fileWSVi">
    <pns:name1>ajeet</pns:name1>
    <pns:name2>phadnis</pns:name2>
    </pns:GetSetNameWS>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    When I look at the process monitor I get this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!-- Receiver Determination
    -->
    - <SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    <SAP:Category>XIServer</SAP:Category>
    <SAP:Code area="RCVR_DETERMINATION">CX_RD_PLSRV</SAP:Code>
    <SAP:P1>Problem while determining receivers using interface mapping: No operation with XML root tag http://schemas.xmlsoap.org/soap/envelope/.Envelope exists.</SAP:P1>
    <SAP:P2 />
    <SAP:P3 />
    <SAP:P4 />
    <SAP:AdditionalText />
    <SAP:Stack>Error when determining the receiver: Problem while determining receivers using interface mapping: No operation with XML root tag http://schemas.xmlsoap.org/soap/envelope/.Envelope exists. Problem while determining receivers using interface mapping: No operation with XML root tag http://schemas.xmlsoap.org/soap/envelope/.Envelope exists. No operation with XML root tag http://schemas.xmlsoap.org/soap/envelope/.Envelope exists.</SAP:Stack>
    <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    I have no clue about this error. Can you help me with this ?
    If yes I can send you more details, if you liked 
    Hoping to get help from you,
    Cheers,
    Ajeet Phadnis

  • File to SOAP Scenario Using BPM

    Hi,
    I am doing File to SOAP scenario using BPM.
    while doing Integration Process in IR, i got the following error message
    "Expression of simple type xsd:string expected"
    But i have given xsd:string in the correlation element as well as in Data types.
    I dont know why it is getting the error.
    could you anyone please help me to sort out?
    Regards,
    Sai Ch.

    Hey,
    Check in the correlation editor, where you define the condition.
    Whether the data type of the XPath is string and whether it matches with the data type of the messages that you have selected.also make sure the type of the correlation variable is string.
    regards,
       Milan

  • File name to be read in mapping - File to SOAP Scenario

    Hi all,
    its a  file to soap scenario. i need to send the file name also to target system. how can i get the file name in the mapping? is there a way to read the header information in mapping?
    Regards,
    Rashmi

    You need to check for Adapeter specific Message Attributes of your File adapter.Then write user defined function to set Dynamic_configuration. So that you can get the file name in the header(u can chk this in SXMB_MONI after implementing the UDF, it will create one section for dynamic_configuration.)
    Manisha

  • QOS File to SOAP scenario

    I have a File to SOAP scenario which processes a file with many records and calls a webservice once per record.
    The QOS of the sender File adapter is set to 'Exactly Once' but the SOAP messages have QOS 'Exactly Once In Order'.
    I would like the SOAP messages to have QOS 'Exactly Once' to avoid messages going into 'Holding' status after an error occurs with a previous message.
    Any suggestions greatfully received.
    Thanks
    Mark Briggs

    Thanks for your suggestions. This scenario does not use BPM.
    This is an asynchronous scenario as the sender is file based. The QOS of the File sender Adapter is set to 'Exactly Once'. I do not think it is possible to set the QOS of the receiver SOAP adapter. I understood that the QOS of the receiver was determined by the QOS of the sender.
    The records in the source file are independent of each other and so I do not want subsequent messages to go into a holding status when a record is in error.
    Is there any way to make the QOS of the receiver SOAP adapter 'Exactly Once'?

  • File to Soap Scenario using UDF

    Hi Guys
    We have a requirement that said:
    IF ShortDescription is not u201CNULLu201D then
    map ShortDescription
    ELSE IF ShortDescriptionLang with LanguageCode u201CENu201D is not NULL
    map ShortDescriptionLang
    So what I did is:
    if( ShortDescription != "NULL")
         map ShortDescription;
    else if( (ShortDescriptionLang != "NULL" ) && ( LanguageCode == "EN") )
            map ShortDescriptionLang;
    But everytime when pressing f7 to check for errors I get thid:
    C:/usr/sap/PI1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map0b27cd32dc2611df84e7000c2973cb67/source/com/sap/xi/tf/_MM_MATERIAL_TO_CATALOGUE_.java:441: '}' expected
    Can someone suggest on how can I test this fucntionality cause one thing that I don't understand is the "map ShortDescription"  and "map ShortDescriptionLang"
    How do I put it on my if statement
    Thanks,
    Yonela

    Hi All
    On my FILE to SOAP Scenario I awant to map a field from my Target to get a Message ID on the moni like in the code below:
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","XHeaderName1");
    String value = conf.get(key1);
    return value;
    My is like this:
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters()
    .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","Messageid");
    String id = conf.get(key1);
    return id;
    But the when presing f7 I get error:
    C:/usr/sap/#####/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map1fee8942e00c11df9d67000c2973cb67/source/com/sap/xi/tf/_MM_MDM_MATERIAL_TO_CATALOGUE_.java:591: cannot return a value from method whose result type is void return value; ^ 1 error
    So is it possible for me to use statement like this:
    ("http://sap.com/xi/XI/System/SOAP","Messageid");
    Thanks
    Yonela

  • File --- XI --- SOAP scenario

    I have a scenario where I would be reading a input file and invoke a Soap adapter and then get back the response and write to another output file.
    So, i need to configure two asyncronous file adapters(one for inbound and one for outbound) and one synchronous soap receiver adapter right?
    What are the other configurations i need to do? am I missing anything?
    Thanks,
    Madhavi

    HI,
    <i>
    So, i need to configure two asyncronous file adapters(one for inbound and one for outbound) and one synchronous soap receiver adapter right?</i>
    >>Yes you are right.
    If you want to achieve these with one single interface, then you need to use BPM here,
    It is like this:
    1) File is picked by XI - i.e Recieve file message
    2) Send this message into Webservice by using Synchronus SOAP Adapter and then get the response back to XI
    3) Then send this response to another file thru Receiver File adapter asynchronously.
    The given document is RFC I knew that,. But in your case, u need to have SOAP instead of RFC. SO it is similar requirement.
    Regards,
    moorthy

  • File to SOAP scenario in PI 7.1

    Hi
    I am developing file to SOAP in 7.1 version  and have the web service Url to call, Do I need upload the WSDL file of the SOAP into ESR under the external objects
    Please let me know
    Thank
    PR

    Hi,
            it is not mandatory to upload the WSDLs of your webservice. You can create similar structure and call your webservice . But, using the WSDLs imported in your ESR you can save time spent in creating datatypes and message types. Even if you import WSDL under external definition, you need to create your service interfaces using WSDL.
    Regards,
    Reyaz

  • Message not received in Proxy to SOAP scenario

    Hi All
    I have a proxy to SOAP scenario. It is not working from past few days.
    When a message is sent, there is a checkered flag in SXMB_MONI.
    In component monitoring of RWB, i see that the status is 'Success' and description is 'Message status set to DLVD'.
    But, it is not reaching its destination. Can you tell me where else i have to check, to find out the problem?
    Thanks in Advance
    Chandra Sekhar

    hi, just do it
    this kind of error is related with an authentification problem against WS. to check it do it:
    1 take the inbound message from Moni, do a test mapping.
    2 download XML Spy (altova) and create a new SOAP request.
    put the WS URL and select the proper soap action.
    3 paste the test mapping result XML and send the soap request.
    4 put user and pass.
    5 if the interface is async, XML Spy will retrn you an empty response else if the scenario is sync it will return you the proper response.
    thanks
    Rodrigo

  • Exception handling in File to IDoc Scenario

    Hi,
    I have successfully configured File to IDoc Scenario. Now I want to include some exception handling which should be capable of create a mail to recipient when a mapping error occurs.
    Can anybody help me out?
    Regards,
    Suraj Kumar

    Hi Suraj,
    A few points while creating ALERTS.
    <b>TESTING YOUR ALERT CONFIGURATIOn</b>
    go to <b>se37 --></b> and <b>execute the report RSALERTTEST</b>. GIve your ALERT CATEGORY in this report. If your ALERTS are configured properly, then your Alert would be triggered and you can see the entry in ALERT INBBOX.
    <b>ALERT RULE</b>
    Make sure that in your Alert Rule, <b>the option Suppress Multiple Alerts of this rule has not been seelcted</b>.
    Finally, if you are on SP14 and above check this note <b>913858</b> for alerts.
    If you are below Sp14, then this blog can help you set the background processes needed.
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    No BPMis needed to trigger alerts in either case.
    Do get back for any clarifications,
    Regards,
    Bhavesh

  • Which is the better format for message handling - flat files or SOAP?

    We have the possibility to specify from our EDI partner how to send messages into XI. We can ask them to send the messages in as SOAP or flat files.
    Is there a definite preference for one format over the other? Can somebody advise with reasons?
    BR,
    Tony.

    >>We have the possibility to specify from our EDI partner how to send messages into XI. We can ask them to send the messages in as SOAP or flat files.
    I would strongly suggest you go with SOAP rather than File.
    Reason : In case of file, the EDI partner will send a file to a machine in your network where FTP server is running and you make your XI server poll the particular folder every 10 min or so. But in case of SOAP, the <b>communication is real time</b>. Your EDI partner can invoke either the SOAP adapter directly or send a SOAP msg directly to Integration Server.
    Just my ideas.
    Regards,
    Jai Shankar

  • Two senders and One receiver for File to SOAP scenario

    Dear Friends,
    I got a new requirement like we have a to different ECC systems from there they will send the Two different Files to XI, XI will send the same file to receiver, but we have only one receiver.
    for soap adapter purpose they provided only one webservice url.
    Please suggest me how to do multiple senders and single receiver.
    Regards,
    Shalini Shah

    >
    shalini shah wrote:
    > Dear Madhu,
    >
    > I am receiving the files from two different ECC servers.
    > ECC1 will send the files at different time
    > ECC2 will send the files at different time
    > but receiver webservice is only one .
    > two sender Communication channels are required for pointing to two different ECC servers and one receiver CC is for receiver purpsoe.
    >
    >
    > Regards,
    > Shaini Shah
    BPM ....not possible to collect the messages otherwise!

Maybe you are looking for