14 Replies Latest reply: Aug 5, 2014 6:40 AM by User10124166-Oracle RSS

    Cannot get OSB to catch fault returned from target system

    user3541180

      My OSB Business Service returns the following SOAP fault when invoking the targeted system:

       

      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

          <SOAP-ENV:Header>

          ...

          </SOAP-ENV:Header>

          <SOAP-ENV:Body>

              <SOAP-ENV:Fault>

              <faultcode>SOAP-ENV:Client</faultcode>

              <faultstring>

                      The process has not been successfully completed. Look at the errors and warnings below.

              </faultstring>

              <detail>

                    ...

              </detail>

              </SOAP-ENV:Fault>

         </SOAP-ENV:Body>

      </SOAP-ENV:Envelope>

       

      This is expected.

      But when I call the same system through my Proxy service I get the following fault:

       

      <con:fault xmlns:con="http://www.bea.com/wli/sb/context">

          <con:errorCode>BEA-380001</con:errorCode>

          <con:reason>Internal Server Error</con:reason>

          <con:location>

          <con:node>sendToSellerRoute</con:node>

          <con:path>response-pipeline</con:path>

          </con:location>

      </con:fault>

       

      I understand that this is also to be expected because the fault is thrown to the system where it is interpreted as such.

       

      My problem is that I want to catch and log the fault that is returned from the target system (the SOAP Fault shown above) and not the interpreted system fault.

      To do this I was told that an "Error Handler" needs to be added to the "Route". The "Error Handler" includes a "Stage" which includes a "Log" and "Reply" .

      I did this but the result returns blank. This is what OSB sbconsole test shows me and nothing is logged in my log file:

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

          <soapenv:Header/>

          <soapenv:Body/>

      </soapenv:Envelope>

       

      Any help or suggestions would be greatly appreciated.

      Regards,

      MC.