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?
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 :-(