[BTS] BizTalk Oracle Adapter Error 01

 

日志名称:          Application
来源:            XLANG/s
日期:            2013/6/16 13:41:56 事件 ID:         10034
任务类别:          无 级别:            错误 关键字:           经典 用户:           
暂缺 计算机:           BTS2010
描述: xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'XZSoftware.Oracle.BizTalk.GetEmployeeProcess(ae8d5556-0664-d7d8-0af5-d0b7d7dfa7d8)'. The service instance will remain suspended until administratively resumed or terminated. If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception. InstanceId: af0741a2-79c9-4895-9825-73b318cb66a8 Shape name: ShapeId: Exception thrown from: segment -1, progress -1 Inner exception: An error occurred while processing the message, refer to the details section for more information Message ID: {6B79479E-1BDB-4AFF-A0C6-16B8F56115CC} Instance ID: {966C9DD4-FD60-4D82-8621-D963A84362E5} Error Description: Microsoft.ServiceModel.Channels.Common.MetadataException: Metadata resolution failed for OperationId: "http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES/Select". ---> Microsoft.ServiceModel.Channels.Common.ConnectionException: Due to an Oracle Client limitation, the adapter failed to open a connection. This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters, or (b) ambient transaction is present and a non-TNS based URI was used. To resolve this, use a TNS alias to connect to Oracle and make sure it is not more than 39 characters.    at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)    --- End of inner exception stack trace ---

Server stack trace:    at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)    at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)

        Exception type: XlangSoapException Source: Microsoft.XLANGs.BizTalk.Engine Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context) The following is a stack trace that identifies the location where the exception occured

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)    at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)    at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)    at XZSoftware.Oracle.BizTalk.GetEmployeeProcess.segment1(StopConditions stopOn)    at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

        事件 Xml: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">   <System>     <Provider Name="XLANG/s" />     <EventID Qualifiers="0">10034</EventID>     <Level>2</Level>     <Task>0</Task>     <Keywords>0x80000000000000</Keywords>     <TimeCreated SystemTime="2013-06-16T05:41:56.000000000Z" />     <EventRecordID>3172</EventRecordID>     <Channel>Application</Channel>     <Computer>BTS2010</Computer>     <Security />   </System>   <EventData>     <Data>xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'XZSoftware.Oracle.BizTalk.GetEmployeeProcess(ae8d5556-0664-d7d8-0af5-d0b7d7dfa7d8)'. The service instance will remain suspended until administratively resumed or terminated. If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception. InstanceId: af0741a2-79c9-4895-9825-73b318cb66a8 Shape name: ShapeId: Exception thrown from: segment -1, progress -1 Inner exception: An error occurred while processing the message, refer to the details section for more information Message ID: {6B79479E-1BDB-4AFF-A0C6-16B8F56115CC} Instance ID: {966C9DD4-FD60-4D82-8621-D963A84362E5} Error Description: Microsoft.ServiceModel.Channels.Common.MetadataException: Metadata resolution failed for OperationId: "http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES/Select". ---&gt; Microsoft.ServiceModel.Channels.Common.ConnectionException: Due to an Oracle Client limitation, the adapter failed to open a connection. This is because either (a) ambient transaction is present and the TNS alias is longer than 39 characters, or (b) ambient transaction is present and a non-TNS based URI was used. To resolve this, use a TNS alias to connect to Oracle and make sure it is not more than 39 characters.    at Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection(OracleCommonExecutionHelper executionHelper)    --- End of inner exception stack trace ---

Server stack trace:    at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)    at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)    at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)

        Exception type: XlangSoapException Source: Microsoft.XLANGs.BizTalk.Engine Target Site: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context) The following is a stack trace that identifies the location where the exception occured

   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)    at Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope&amp; env, Boolean topOnly)    at Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope&amp; env, CachedObject location)    at XZSoftware.Oracle.BizTalk.GetEmployeeProcess.segment1(StopConditions stopOn)    at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception&amp; exp)

        </Data>   </EventData> </Event>

 

Reson:

Your send port config was mistaken.

For example: oracledb://10.1111.111.111:1521/TNSNAME0000/Dedicated .  In BizTalk 39 chats limited is "oracledb://10.1111.111.111:1521/TNSNAM". Then you must change your TNS name for 39 char limited.

 

Solution:

Change "TNSNAME0000" to "TNSNAM"

 

posted on 2013-06-16 13:58  徐中  阅读(640)  评论(0编辑  收藏  举报

导航