SOAP to RFC using fault message

Hi All,
I get a request from Web-service by using the SOAP adapter and pass the same to the SAP ECC for geting the response. I do not need a message mapping as i am passing the same data to SAP ECC. I need to track the errors in fault messages.
Q1. Can i use the fault message handling without using the message mapping.
Q2. If web-service is down and i can't send the response back then do i need to using the fault messageing concept or is there any other way i can get the details back in XI.
If we can use the fault message without using message mapping concept, can someone help me out.
Thanks,
JGD

You are using SOAP sender and Proxy receiver synchronous
>>Q1. Can i use the fault message handling without using the message mapping.
Request mapping, Response mapping and fault message mapping - all these three constitutes message mapping.
>>Q2. If web-service is down and i can't send the response back then do i need to using the fault messageing concept or is there any other way i can get the details back in XI.
If the webservice is down , you dont get message, then you dont need fault message.  Fault message is used only for business exceptions and more. If your ECC is down due to some exceptions or errors, you can trace those messages in  proxy coding and pass  it up to soap as fault message as response.
In this case, you dont need at all.

Similar Messages

  • Error handling using fault message type in outbound synchronous ABAP proxy

    Hi,
    We've a scenario, outbound synchronous ABAP proxy to synchronous SOAP receiver. The requirement is to send multiple records in a single rquest and get response for all the records sent (in the same response message).
    Say if I send 10 records from ECC, I should get 10 records as response from SOAP to ECC. But the problem here is, there could be some invalid requests, for which an invalid error status code should be sent as part of response.
    Source Structure
    Req_Proxy
        req (0..unbounded, string)
    Response Structure
    Resp_SOAP
      Resp (0..Unbounded)
           respString (0..1, String) (carries the actaul response message)
          status code (0..1, String) (carries the status of the response, for ex, 001 (successful), 002 (error))
    And now we are planning to make use of Fault Message Type, to track the errors from SOAP (status code 002). But, we are not sure on how to track this for all the requested records. Is it possible to track the errors for all the requested records in a singe call using fault message type? For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8 for valid and 2 for invalid accordingly.
    Please calrify.
    Thanks.
    Rohit

    For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8
    for valid and 2 for invalid accordingly.
    Check if you can modify the WSDL structure to include an error node that would get populated incase of invalid entries....this would mean that you get the success and failure details in the single message....also at the proxy-end make the necessary change in your DT.....may be then you do not need to use the fault message...
    Regards,
    Abhishek.

  • Exception using fault message in java server proxy.

    Hi All,
    I am trying to use Fault message inside my server proxy code in Asynchronous java server proxy. I am referring the below mentioned link :
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702?quicklink=index&overridelayout=true
    I successfully deployed my SDA file but while running the scenario(http-XI-ftp in PI7.11) i am getting the folowing exception under MDT:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. Exception: Cannot locate proxy bean ServerProxyFTTest3.
    I am using the following library refernces under application-j2ee-engine.xml file:  com.sap.aii.af.sdk.lib, com.sap.aii.proxy.svc, com.sap.xi.util.misc,com.sap.guid,com.sap.exception all of type "weak".
    I have checked almost all the forums related to fault messages in asynchronous java server proxy but couldn't find much help.
    Request you all to help me.
    Thanks
    Amit

    Hi Rajesh,
    I am deploying my SDA file on Non Central Adapter Engine.
    I have also registered my interface using:
    http://ISVSAPPISB:51000/ProxyServer/register?ns=http://infosys.com/poc&interface=SI_Proxy_IA&bean=localejbs/ServerProxyFTTest3&method=sIProxyIA
    But still i ma getting the same exception.
    Hi Gabriel,
    I implemented my scenario using the same. But in addittion to the librarry referneces mentioned over there i have added one more refrence in it "com.sap.exception"  of type "weak". My structure is like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <application-j2ee-engine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="application-j2ee-engine.xsd">
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.aii.af.sdk.lib</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="service"> com.sap.aii.proxy.svc</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.xi.util.misc</reference-target>
      </reference>
    <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.guid</reference-target>
      </reference>
        <reference reference-type="weak">
      <reference-target provider-name="sap.com" target-type="library">com.sap.exception</reference-target>
      </reference>
        </application-j2ee-engine>
    Please help.
    Thanks
    Amit

  • How to use fault message for error handling.

    HI
    Anybody has an idea about how we use fault messages to handle errors in XI
    Thanks
    Debraj

    Hi,
    Refer this link. This pdf file has descriptions about fault message types and how to use it.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4cdfc390-0201-0010-2197-da4ada09f281
    Regards,
    Uma

  • SOAP Adapter - Using Fault Message

    Hi all,
    I have developed a Synchronous Integration Scenario which receives a SOAP request to the SOAP adapter, calls an ABAP proxy in SAP ECC to post some information and return a response or a fault to the sender.
    This all works fine, I am using a fault message in the ABAP proxy to record errors and return them to the SOAP adapter using the fault mapping. Again this all works fine. However when an application error is identified and a fault message returned to thre SOAP adapter, I had expected that the error details in the fault message to be packaged up in a standard SOAP fault and returned to the sender. Instead the fault message details are sent as the payload in the SOAP body of the response.
    Can anyone provide information on if it is possible to return the fault message as a standard SOAP fault instead of in the SOAP body of the response.
    Thanks
    Gary

    Dont think this is possible in standard.
    As an alternate, maybe you can select option Do not use SOAP Enevlope int he sender SOAP Adapter and thereby the entire SOAP Message will enter the mapping and you would need to use a XSL or Java  mapping to strip the SOAP Envlope in the mapping for the request and like wise in the response mapping you would need to add the SOAP Enevlope to the response.
    For the fault message mapping you need not add the SOAP Envelope.
    Not a standard solution, but can be tried if the requirement is really worth it. Otherwise I think the Fault Message will continue to be sent as the payload in the the SOAP Enevlope as this is how the SOAP adapter works.
    Regards
    Bhavesh

  • RFC - JDBC fault message

    Hello All,
    Probably this has been discussed before, but i am unable to find a direct solution till now.
    I have a synchronous RFC to JDBC scenario, where data is inserted from R/3 to JDBC and JDBC returns with the count of records it inserted in oracle. everything is working fine.
    But in case when there is an error in insert, short dump occurs in R/3. i can see the response message has the error that some fields are null and so the insertion failed.
    My question is, how to capture this fault and get a exception equivalent in my RFC, so for further processing it can simply be check against SY-SUBRC.
    I would appreciate any pointers or help on this.
    Regards,
    Kinshuk

    Hi Kinshuk,
    one month ago I implemented also synch JDBC scenario but with call from client proxy (ABAP Proxy <->JDBC). First you ca try is to implement exception in your RFC and then update the metadata in IR. Assign also Fault Message to Inbound JDBC Message Interface and create mapping between RFC exception message and Fault Message.
    If it will not help you, try to change your implementation to ABAP Proxy if possible. With Proxy you can use ABAP statement  "TRY/CATCH" and catch system error as I do in my implementation.
    As far as I know, JDBC adapter does not support Fault Messages. But I never had system with latest SP. For examply in this 1492453 note you can see, that the detail text message of exception in Adapter was not transfered to IS (sxi_monitor) in SP bellow 12. With proxy you should have access to that exception and it might be possible get the "detail text" from exception object.
    On my current project I'm still waiting for SP so in my implementation I can catch Proxy exception but I'm not able to tell user what exactly happend. He has to check Comm.Channel monitoring for more info.
    If you have SP12 or higher you should be able not only catch system exception but also to get the detail error text from JDBC Adapter back to your proxy implementation.
    Martin

  • Unable to connect SOAP to RFC using soap client.

    I have tested the SOAP to RFC sync scenario today using a soap client.I have encountered the following error at the SOAP sender channel.
    "java.lang.NullPointerException
            at com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageOperator.getQualityOfServiceAsString"
    the only possible solution found till now  through forum is to apply SAP NOTE 1239995. As it is confirmed that SAP note 1239995 is already in the system , request you to post it to SAP for getting any OASIS note . I am also posting the message to SDN forum to get some help.
    We are able to connect to the integration server, but are unable to connect through the communication channel.
    Is there any othere OASIS notes need to be applied here? Or any other information is need which i am missing ?
    regards,
    Abhishek

    You are in the right track. Looks like you need latest service pack for the soap channel.  Follow this thread...
    ADAPTER.JAVA_EXCEPTION XMBMessageOperator.getQualityOfServiceAsString error
    This link says
    Error in sending XML from SoapUI to SAP PI 7.11
    This patch level will fix  SAPXIAF06P patch #6 (SP-level #06)
    Edited by: Baskar Gopal on Apr 5, 2011 4:33 PM

  • Using Fault Message Type in BPM

    Hi,
    In my BPM Scenario, I am using a synchronous send step in which I am using a fault message type.For giving the container for the fault message in the Properties area of the send step, I want to define a container corresponding to the Fault message Type I have already defined.How can I achieve this since it is not possible by defining an Abstract Interface? Can someone please explain how to do this?
    Thanks and Regards,
    Soumya.

    Hi Soumya,
    Here are the links for two threads. one has discussed fault mssage type in bpm and the other the general application of a fault message type.
    thread1:- Alert monitoring and fault message types
    thread2:- fault message in BPM process
    Regards,
    Sushumna

  • ABAP provider proxy error using Fault Message Type

    Hello experts,
    I'm using a provider ABAP proxy with a fault message type in the inbound service interface.
    In the ABAP code on the backend system, I need to fill a database table.
    in case the record exist --> fault + message back to SAP PI to be alerted.
    I do this with a RAISE EXCEPTION TYPE.
    I generated all necessary proxies.
    The error I got on the backend system (SXMB_MONI) is this:
    Application Error - Call Inbound Proxy
    SAP:Category>Application</SAP:Category>
      <SAP:Code area="ABAP">APPLICATION_ERROR</SAP:Code>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="xxxxx">FMT_xxxxxx</SAP:ApplicationFaultMessage>
      <SAP:Stack>The application triggered an exception</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
    Can it be that I need to use something else instead of the RAISE EXCEPTION TYPE. to get something back to SAP PI?
    Now the error is logged in SXMB_MONI on the backend system.
    Please advice.
    Thanks a lot
    Dimitri

    Hi Dimitri,
    Check out these links -
    1. /people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1
    2. http://help.sap.com/saphelp_nw04/helpdata/en/5d/a45c3cff8ca92be10000000a114084/frameset.htm
    Regards,
    Sunil Chandra

  • Synchronous File- Soap scenario with fault message

    Hi!
    I have a File to Soap synchronous scenario.
    All is right when no exception is returned by the web service.
    I want to use fault messages to catch thoses exceptions, so I have added fault message in message interfaces and in the mapping program in the interface mapping.
    Now, when the web service return an exception like :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
       <soap-env:Body>
          <soap-env:Fault>
             <faultcode>soap-env:Client</faultcode>
             <faultstring xml:lang="en">NOT_CREATED</faultstring>
             <detail>
                <n0:Z_WS_CREATE_WAGON.Exception xmlns:n0="urn:sap-com:document:sap:rfc:functions">
                   <Name>NOT_CREATED</Name>
                   <Text> does not have packaging material type and is therefore not a pack.mat.</Text>
                   <Message>
                      <ID>HUSELECT</ID>
                      <Number>041</Number>
                   </Message>
                </n0:Z_WS_CREATE_WAGON.Exception>
             </detail>
          </soap-env:Fault>
       </soap-env:Body>
    </soap-env:Envelope>
    I get the following error :
    <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="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
       <SAP:P1>http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon</SAP:P1>
       <SAP:P2 />
       <SAP:P3 />
       <SAP:P4 />
       <SAP:AdditionalText />
       <SAP:ApplicationFaultMessage namespace="" />
       <SAP:Stack>Interface mapping http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon does not exist in runtime cache</SAP:Stack>
       <SAP:Retry>N</SAP:Retry>
    </SAP:Error>
    My mapping program for fault message is well defined (I tested it with the exception message received from the web service).
    I have also refresh caches, but without success...
    Can anyone help me ?
    Thanks in advance,
    Laurence

    Hey Laurence,
    A File adapter is aysnchronous u cant use for synchrous because it cant acknwlodge the response it gets or itt sends.
    regarding two asynchoronus
    1. file to SOAP asychn.
    2. triggger the second one if SOAP has exception then pass the error from SOAP to New File.
    using BPM we have to use Transportion level acknowledgments
    please reward points if it helps
    Regards
    Sreeram.G.Reddy

  • How to send back the soap fault message without details tag to the sender

    Hello Expert,
    Is it possible to send the soap fault message(fault String element value) without details tag as shown below to the sender in synchrounous scenario.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soapenv:Body>
              <soapenv:Fault>
                   <faultcode>soapenv:Client</faultcode>
                   <faultstring>autorizarComprobanteRequest.comprobanteCAERequest.arrayOtrosTributos.otroTributo(1).codigo - El Código de Tributo es obligatorio.</faultstring>
                   <detail></detail>
              </soapenv:Fault>
         </soapenv:Body>
    </soapenv:Envelope>
    I have to send the faultstring element value in one of the element in response message back to sender? Is it possible using BPM?The above fault response does not have a fault payload (no detail element) and would result in a system error message.So how to handle this?
    If yes .Please tell me the BPM design
    faultstring value will be dynamic.
    Thanks in advance

    Thanks Yzanagi,
    I have gone through the index.htm file.
    In my scenario that is RFC -PI-soap(using http(Axis) protocol).when the webservice provider  is sending the soap fault as.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soapenv:Body>
              <soapenv:Fault>
                   <faultcode>soapenv:Client</faultcode>
                   <faultstring>autorizarComprobanteRequest.comprobanteCAERequest.numeroComprobante - El Número de Comprobante debe ser mayor o igual a 1</faultstring>
                   <detail></detail>
              </soapenv:Fault>
         </soapenv:Body>
    </soapenv:Envelope>
    In PI sxmb_moni it is converting to the error (system not application error)as shown below when using receiver soap adapter with  https(Axis) transport protocol and Message protocol:Axis.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message
      -->
    - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1></SAP:P1>
      <SAP:P2></SAP:P2>
      <SAP:P3></SAP:P3>
      <SAP:P4></SAP:P4>
      <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: autorizarComprobanteRequest.comprobanteCAERequest.numeroComprobante - El Número de Comprobante debe ser mayor o igual a 1.</SAP:AdditionalText>
      <SAP:Stack></SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    As my requirement was (I have mentioned in my first question) that I want to pass
    SAP:AdditionalText tag
    value back to sender  in  one of the elements of  response message payload or handle using fault message mapping if this error could be converted to application error and map to the RFC exception  but unfortunately which is  not possible even using AXIS  adapter.
    so other  option to inform the sender RFC is mentioned here http://help.sap.com/saphelp_nw70/helpdata/en/22/0425e0488911d189490000e829fbbd/content.htm
    but while handling the SYSTEM_FAILURE  exception from PI at sender in report program and  displaying the msg variable ,I am not getting complete error message..It is getting truncated.Is there a limit to the no of character the msg variable contains which is set by system.Even if we declare msg variable with more length(for example char length 500) it is just displaying part of the error message from PI.
    Any Idea to read complete system error message from PI in report program at RFC sender..
    Kind Regards,
    Kubra fatima

  • Passing JDBC adapter error message back to SOAP fault message

    I have a JDBC adapter that is returning an error in the response message:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message
      -->
    - <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SAPINS' (structure 'StatementName1'): java.sql.SQLException: ORA-01843: not a valid month ORA-06512: at "SAP.SAPINS", line 129 ORA-06512: at line 1</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I would like to pass the error message back to the fault section of a SOAP adapter.
    Is there an easy way to do this using fault messages, or is there some other way to do this?
    BR,
    Tony.

    HI,
    DId you install JDBC driver ?
    If not check this guide-https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    Thread-
    Legacy_XI_MySQL
    Regards,
    Moorthy

  • Is it mandatory to use a Fault Message Type.

    Hi all
    I am currently doing a Soap-Proxy synchronous scenario,where by sending an employee id through webservice to SAP ECC ,employee details will be retreived from ECC as a response.
    In this scenario, is it necessary to specify the Fault Message Type in the outbound and inbound synchronous Message interfaces and do the corresponding message mapping for Fault message types.
    Asvance Thanks,
    Ram.

    Hi ram,
    It is not at all mendetary to use Fault message in ur case.Usually it depends upon requirement.If client want's to implement ...u have to use.
    generally fault messages are used wen u want to catch some exception viz. ECC server is down,Employee ID does not exist.,No record found for the given EmpID etc....ect.......
    See these to know more abt fault message type and its implementation........
    Fault message implementation.
    /people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1
    How to Guide
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40574601-ec97-2910-3cba-a0fdc10f4dce
    With Integration Scenario
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/52398597-0601-0010-868a-fd95f8061d85
    How to Guide - Using Web Service
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f027dde5-e16e-2910-97a4-f231046429f2
    Presentation
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9f2ad490-0201-0010-a1bd-81d072f3c5ca
    Regards
    Biplab
    <i>***Reward with points if it helps you!!</i>

  • Fault Messages (RFC)

    Hi experts,
    If my RFC function haven't defined exeptions, can i using fault message?,      
    very thanks,
    regards,

    Hi Silvia
    Did you tested the payload executing at R/3. if the RFC is providing the expected results. If not then you need to debug the FM with the payload at R/3.
    Its always a good practice to have exception raise by FM. make life easier
    Thanks
    Gaurav

  • 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

Maybe you are looking for

  • How to escape special characters in a region title

    I have created a drill down report where the second report is filtered by a value chosen in the first report. I am using &Pn_field. syntax to pass the name of the select value to the region title of the second report. Some of the returned values have

  • Need a VB-Script that read a txt-file and only the lines that are new since last time

    Hi, I need help to write a VB script that read all new lines since the last time. For example:  The script reads the textfile at specific time, then 10 minutes later the script read the file again, and it should now only read the lines that are new s

  • Upgrade JAXP 1.2 to JAXP 1.3 in SAP xMII

    Hi All, I need a favour regarding JAXP (Java API for XML Processing). I am currently using SAP xMII 11.5 it uses both DOM as well as SAX parser to parse the xml. Also it uses JAXP to talk with DOM and SAX. Now the issue is it uses JAXP 1.2 which is n

  • Image in JFrame

    Hi! How can I add an image (jpg, gif etc) to a JFrame or a JPanel? ImageIcon is not a Component object and cannot be added simply with the add method.. Thanks ;)

  • Typed "uptime" in Terminal, got "2 users" in results but I'm only 1 ! *** !

    Hello, As I tried out things on my mac I typed "uptime" in Terminal and in the resulting line there was the period it's been up for without a reboot AND it also said "2 users". But i'm strictly the only one using this computer and the only user accou