Catching Fault message in Orchestration

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Biztalk 2006 - I have an orchestration which queries an Oracle view through
the Oracle Adapter for Enterprise Applications and want to catch an Oracle
exception. To do this I have added a Fault Message to the Request / Response
Operation in the Oracle port.

In the Oracle Adapter documentation "How to Add a Fault Message" the text
says that the fault message should be of type
Microsoft.XLANGs.Core.XlangSoapException, which is impossible to find, yet
the screen print under point 4d indicates the Schema which points to
BTS.soap_envelope_1__1.Fault so I have selected this.

The Catch Exception shape uses the fault message as Exception Object Type
and the logic is to resend the message to an OS folder.

When calling the view normally all is fine, but when I modify the view to
throw an Oracle exception the Service Instances are terminated and I get the
following messages in the Event Log:

Message1:

System defined exception
Call to Query@OracleDb://MYDB/MYDB/Tables/TEST_FAULT
Implementation = OracleDb://MYDB/MYDB/Tables/TEST_FAULT

Source: OracleDb
Error Code: 1476 (0x5c4)
Cause: OracleDb://exception=DBException (Unique ID <none>)
22012 : [Oracle][ODBC][Ora]ORA-01476: divisor is equal to zero


Exception data:
struct DBException =
WideString StatusCode = "22012"
WideString Description = "[Oracle][ODBC][Ora]ORA-01476: divisor
is equal to zero
"

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

Message 2:
Error transmitting message: <SOAP-ENV:Fault
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";><faultcode>SOAP-ENV:Server</faultcode><faultstring>Request ID: Unknown
Exception Type: System defined exception
Exception Info:
Exception occurred:
Source: OracleDb
Error Code: 1476 (0x5c4)
Cause: OracleDb://exception=DBException (Unique ID <none>)
22012 : [Oracle][ODBC][Ora]ORA-01476: divisor is equal to zero


Exception data:
struct DBException =
WideString StatusCode = "22012"
WideString Description = "[Oracle][ODBC][Ora]ORA-01476:
divisor is equal to zero
"</faultstring><detail><exposed:DBException
xmlns:exposed="http://schemas.microsoft.com";><exposed:StatusCode>22012</exposed:StatusCode><exposed:Description>[Oracle][ODBC][Ora]ORA-01476:
divisor is equal to zero
</exposed:Description></exposed:DBException></detail></SOAP-ENV:Fault>

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

The XML message which cannot be transmitted is of the correct schema -
http://schemas.xmlsoap.org/soap/envelope/.

Any ideas?
.



Relevant Pages

  • Re: Oracle 9: regexp_like erforderlich, was nun?
    ... Oracle produziert einen ... deswegen müsste man die Exception in einer eigenen ... CREATE OR REPLACE FUNCTION text_to_number ... Next by Date: ...
    (de.comp.datenbanken.misc)
  • Re: System.Data.OracleClient.OracleException: ORA-01041
    ... I suppose you better check with your DBA first, ... I am a developer supporting a C# .NET application accessing an Oracle ... Exception Details: System.Data.OracleClient.OracleException: ... Here are the web.config connection parameters: ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Oracle procedure raises exception but looks to be successful from DBI
    ... I am using Oracle XE, ... I've just spent a long time tracking down a bug in an Oracle procedure because DBI's execute method returned success even though the procedure raised an exception. ... If I replace the procedure with a single call to raise_application_error execute does fail. ...
    (perl.dbi.users)
  • System.Data.OracleClient.OracleException: ORA-01041
    ... I am a developer supporting a C# .NET application accessing an Oracle ... Exception Details: System.Data.OracleClient.OracleException: ... Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ... Here are the web.config connection parameters: ...
    (microsoft.public.dotnet.framework.adonet)
  • Losing records in a transaction
    ... I'm currently using .NET 1.0 and MS .NET provider for Oracle to connect to ... Catch ex as Exception ... Off late I have been getting database locks ...
    (microsoft.public.dotnet.framework.adonet)