0

We are migrating from BizTalk 2016 to BizTalk 2020.

We have a send port WCF-Custom to execute an Oracle procedure, but in our new installation with BizTalk 2020 we receive the following error:

Microsoft.ServiceModel.Channels.Common.MetadataException: Metadata resolution failed for OperationId: "http://Microsoft.LobServices.OracleDB/2007/03/BTS/Package/PKG_BTS_PROC/PROCEDUREX". ---> System.NullReferenceException: Object reference not set to an instance of an object.

The Send Port has UseAmbientTransaction = True, Use Transaction = True and enableBizTalkCompatibilityMode = True.

The same Send Port in BizTalk 2016 is working well, but in the new version with BizTalk 2020 we get previous error with this stack trace:

   at Oracle.DataAccess.Client.OracleLogicalTransaction..ctor(OracleConnection connection, Byte[] ltxid)
   at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable, OracleLogicalTransaction m_OracleLogicalTransaction)
   at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src, OracleLogicalTransaction m_oracleLogicalTransaction)
   at Oracle.DataAccess.Client.OracleConnectionOCP.Open(OracleConnection con)
   at Oracle.DataAccess.Client.OracleConnection.Open()
   at Microsoft.Adapters.OracleCommon.OracleCommonConnectionWrapper..ctor(String connectionString, OracleCommonExecutionHelper executionHelper)
   at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)

Have we missed something during the installation?

Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
felixmondelo
  • 1,324
  • 1
  • 10
  • 19
  • I would try setting the Transaction flags to False (one at a time), to see if that is causing the issue. Also what version of Oracle are you connecting to? Each version of BizTalk only supports particular version of Oracle & Oracle client. https://learn.microsoft.com/en-us/biztalk/adapters-and-accelerators/lob-and-enterprise-2020-support – Dijkgraaf May 31 '22 at 23:05

1 Answers1

0

The problem was with Oracle destination version.

We update the Oracle client to version 19 and that database was in version 10.

The error description is not very accurate :-(

felixmondelo
  • 1,324
  • 1
  • 10
  • 19
  • Don't forget to use the green tick on your answer – Dijkgraaf Jun 17 '22 at 03:46
  • Question - so we cannot run a newer "client" than what the database is? I'm getting same error on BT2020 but not BT2016. I thought using a newer client would be the smart thing to do. So maybe not. – NealWalters May 24 '23 at 19:45