Risolvere i problemi operativi con l'adattatore Oracle E-Business Suite
Questa sezione illustra l'uso di tecniche di risoluzione dei problemi per risolvere gli errori operativi che potrebbero verificarsi quando si usa l'adapter Microsoft BizTalk per Oracle E-Business Suite.
Abilitazione della traccia
Per altre informazioni sul supporto della traccia nell'adapter Oracle E-Business, traccia diagnostica e registrazione messaggi nell'adapter Oracle E-Business Suite.
Problemi noti
Di seguito sono riportati gli errori più comuni che potrebbero verificarsi quando si usa BizTalk Adapter Pack, insieme alla loro probabile causa e risoluzione.
Errore durante il caricamento delle associazioni dell'adapter
Problema
Quando si tenta di avviare il plug-in Aggiungi servizio adapter di Visual Studio o il componente aggiuntivo Del progetto BizTalk del servizio adapter, viene visualizzato l'errore seguente:
There was an error loading the binding, <binding name>, from your system configuration.
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.
Causa
Quando si tenta di avviare il plug-in Add Adapter Service Reference o il componente aggiuntivo Consume Adapter Service, WCF carica le associazioni di adapter per tutte le schede installate. A sua volta, le associazioni dell'adattatore dipendono dal software client specifico per l'applicazione aziendale. È possibile affrontare questo problema per uno o entrambi i motivi seguenti:
Il software client LOB richiesto non è installato nel computer in cui è installato l'adattatore.
È stata eseguita un'installazione tipica o completa dell'adapter, che installa tutte le schede contenute nel Pacchetto adapter BizTalk. Tuttavia, le librerie client LOB potrebbero essere installate solo per un'applicazione aziendale. Di conseguenza, la GUI non riesce a caricare le associazioni per gli altri adattatori.
Risoluzione
Assicurarsi che le versioni client LOB necessarie siano installate nel computer in cui è stato installato bizTalk Adapter Pack. Per informazioni sulle versioni client supportate, vedere la guida all'installazione disponibile all'unità <>di installazione:\Programmi\Microsoft BizTalk Adapter Pack.
Assicurarsi di eseguire un'installazione personalizzata delle schede per installare solo l'adattatore necessario.
L'adattatore Oracle E-Business Suite non viene visualizzato nell'elenco delle schede nella console di amministrazione BizTalk Server
Problema
A differenza della versione precedente delle schede fornite con BizTalk Server, l'adapter Oracle E-Business fornito con BizTalk Adapter Pack non viene visualizzato nell'elenco di schede nella console di amministrazione BizTalk Server.
Causa
L'ultima scheda Oracle E-Business è un'associazione personalizzata WCF. Quindi, anche se la console di amministrazione BizTalk Server visualizza l'adattatore WCF-Custom, non visualizza le associazioni personalizzate WCF e quindi non visualizza l'adapter Oracle E-Business basato su WCF.
Risoluzione
È possibile aggiungere in modo esplicito l'adapter Oracle E-Business alla console di amministrazione BizTalk Server seguendo la procedura descritta in Aggiungere l'adapter Oracle E-Business Suite alla console di amministrazione BizTalk Server.
Errore durante l'esecuzione di operazioni in Oracle E-Business Suite
Problema
L'adattatore restituisce l'errore seguente durante l'esecuzione di qualsiasi operazione in Oracle E-Business Suite usando BizTalk Server.
Per BizTalk Server
System.ArgumentNullException: Value cannot be null.
Causa
L'azione WCF per il messaggio non viene specificata. WCF richiede che venga specificata un'azione SOAP per ogni operazione, che informa l'adapter sull'operazione da eseguire nell'applicazione LOB.
Risoluzione
Specificare l'azione SOAP nella porta di invio o come proprietà del contesto di messaggio in un'orchestrazione BizTalk. Per istruzioni, vedere Configurare l'azione SOAP per Oracle E-Business Suite. Per visualizzare un elenco di azioni per ogni operazione, vedere Messaggi e schemi di messaggi per l'adapter Oracle EBS .
Il processo BizTalk potrebbe verificarsi in modo anomalo a causa di una versione del client Oracle non corretta quando un messaggio di richiesta viene eliminato nella posizione di ricezione
Problema
Dopo l'eliminazione di un messaggio di richiesta in una posizione di ricezione definita in un'orchestrazione BizTalk, l'orchestrazione usa il messaggio e l'host BizTalk (BTSNTSvc.exe) si arresta in modo anomalo e riavvia.
Causa
L'installazione del client Oracle aggiunge il riferimento agli assembly client più recenti nella variabile PATH. Inoltre, i riferimenti all'installazione più recente dell'assembly client Oracle precedono il riferimento agli assembly client esistenti. Quindi, se l'installazione client Oracle più recente non è di una versione client supportata, l'host BizTalk si arresta in modo anomalo e quindi viene riavviato.
Si supponga, ad esempio, che il client Oracle supportato 11.1.0.7 sia già installato nel computer e che la variabile PATH abbia il riferimento seguente:
C:\oracle\product\11.1.0\client_1\bin;
Se un client Oracle non supportato, ad esempio 10.2.0.3, viene installato nello stesso computer, la variabile PATH avrà il riferimento seguente:
C:\oracle\product\10.2.0\db_2\bin;C:\oracle\product\11.1.0\client_1\bin;
Si noti che la versione client non supportata viene fatto riferimento prima della versione supportata e quindi l'host BizTalk si arresta in modo anomalo. Se sono in esecuzione più host BizTalk, quello che ospita l'adattatore si arresta in modo anomalo.
Risoluzione
Se nello stesso computer sono installati più client Oracle, assicurarsi che la versione client Oracle supportata venga fatto riferimento prima delle altre versioni client Oracle nella variabile PATH. Ad esempio, se la versione client Oracle supportata è 11.1.0.7, il riferimento nella variabile PATH deve essere simile al seguente:
C:\oracle\product\11.1.0\client_1\bin;C:\oracle\product\10.2.0\db_2\bin;
L'adapter potrebbe generare un'eccezione di overflow per l'esecuzione di un'operazione
Problema
Se si tenta di eseguire un'operazione contenente i tipi di dati numerici Oracle all'interno di DataSets o cursori REF tipizzata in modo debole, l'adapter potrebbe generare un'eccezione di overflow.
Causa
Ciò accade se si specifica un valore elevato per il tipo di dati numerico Oracle all'interno di DataSets o cursori REF tipizzata debole che non possono essere inseriti nel rispettivo tipo .NET.
Risoluzione
Se si desidera passare valori di grandi dimensioni per il tipo di dati numerico Oracle all'interno di DataSets o cursori REF di tipo debole, è necessario abilitare la digitazione sicura impostando il valore della proprietà di associazione EnableSafeTyping su true. L'abilitazione della digitazione sicura espone il tipo di dati numerico Oracle all'interno di DataSets o cursori REF con tipi deboli come stringhe.
L'adapter potrebbe generare un'eccezione overflow aritmetica sull'esecuzione di un'operazione ExecuteScalar
Problema
Se si tenta di eseguire un'istruzione SELECT in un'operazione ExecuteScalar che recupera un numero elevato, l'adapter genera l'eccezione seguente: "System.OverflowException: operazione Aritmetica ha generato un overflow".
Causa
Ciò avviene a causa della limitazione nota dell'operazione ExecuteScalar in ODP.NET. ODP.NET tenta di adattarsi ai dati nel tipo di dati decimale .NET e se il risultato è troppo grande per adattarsi al tipo decimale .NET, viene generata l'eccezione.
Risoluzione
Usare TO_CHAR() nell'istruzione SELECT nell'operazione ExecuteScalar per convertire i dati restituiti come stringa.
Il client dell'adapter potrebbe generare l'eccezione seguente per l'esecuzione di un'operazione: "Impossibile recuperare l'ID utente, l'ID responsabilità, l'ID applicazione. Controllare se i valori corretti sono stati passati."
Problema
I client della scheda potrebbero generare questa eccezione se si eseguono operazioni sugli artefatti di Oracle E-Business Suite (tabelle di interfaccia, viste dell'interfaccia, programmi simultanei e set di richieste).
Causa
Ciò accade se si specifica una combinazione errata di nome utente, password e nome di responsabilità Oracle durante l'esecuzione di operazioni su tabelle di interfaccia, viste dell'interfaccia, programmi simultanei e set di richieste. L'adapter Oracle E-Business richiede questi valori per impostare il contesto dell'applicazione per questi artefatti. Per altre informazioni sull'impostazione del contesto dell'applicazione, vedere Impostare il contesto dell'applicazione.
Risoluzione
È necessario specificare una combinazione corretta del nome utente, della password e della responsabilità oracle per impostare in modo appropriato il contesto dell'applicazione per un artefatto di Oracle E-Business Suite. Per specificare i valori per il nome utente e la password Oracle, è necessario usare le proprietà di associazione OracleUserName e OraclePassword . Per specificare il valore per la responsabilità Oracle, è possibile usare la proprietà di associazione OracleEBSResponsibilityName o la proprietà di contesto del messaggio.
Errore con RootNode TypeName nei progetti BizTalk
Problema
In un progetto BizTalk in Visual Studio, se gli schemi generati dal componente aggiuntivo Del servizio adapter di utilizzo contengono caratteri non validi o parole riservate per la proprietà RootNode TypeName , si verificherà l'errore seguente durante la compilazione del progetto:
Node <node reference> - Specify a valid .NET type name for this root node.
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).
Risoluzione
Fare clic con il pulsante destro del mouse sul nodo rood a cui fa riferimento nell'errore e selezionare Proprietà.
Per la proprietà RootNode TypeName , rimuovere qualsiasi carattere illegale o parole riservate, ad esempio punto (.).
Avviso di associazione non valido quando si usa l'adapter in Visual Studio
Problema
Quando si usa l'adapter per creare un'applicazione in Visual Studio 2013 e si apre il file di configurazione (app.config) generato dall'adapter, viene visualizzato un avviso simile al seguente:
The element 'bindings' has invalid child element 'oracleEBSBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...
Causa
Questo avviso viene visualizzato perché l'associazione dell'adapter Oracle E-Business , oracleEBSBinding
non è un'associazione standard fornita con Windows Communication Foundation (WCF).
Risoluzione
È possibile ignorare questo avviso.
BizTalk Server genera un'eccezione se si usano più schemi di notifica nella stessa applicazione o si usa lo schema di notifica in più applicazioni nello stesso host
Problema
BizTalk Server genera un'eccezione XLANG o un'eccezione che indica che l'applicazione non riesce a individuare la specifica del documento perché più schemi corrispondono al tipo di messaggio.
Causa
Ciò si verifica a causa di una delle condizioni seguenti:
Sono stati generati più schemi di notifica in un progetto di BizTalk Server, distribuiti in un'applicazione BizTalk Server ed è stata quindi eseguita l'applicazione per ricevere notifiche dal database Oracle. Poiché gli schemi di notifica sono comuni, esiste un conflitto tra gli schemi distribuiti nell'applicazione BizTalk Server.
In caso di più progetti, è stato generato uno schema di notifica per ognuno dei progetti BizTalk Server, distribuito ogni progetto in un'applicazione BizTalk Server separata nello stesso host ed è stata quindi eseguita un'applicazione o un'applicazione per ricevere notifiche dal database Oracle. Poiché gli schemi e gli assembly sono accessibili tra le applicazioni in BizTalk Server, esiste un conflitto tra gli schemi comuni distribuiti in varie applicazioni e assembly BizTalk Server.
Risoluzione
Usare un singolo file di schema di notifica per un'applicazione BizTalk Server. Se è necessario usare lo schema di notifica in più applicazioni BizTalk Server nello stesso host, creare un'applicazione contenente un singolo schema di notifica e quindi usare lo schema di notifica di tutte le altre applicazioni in BizTalk Server.
Eccezione di timeout durante l'esplorazione degli artefatti di Oracle E-Business Suite in Visual Studio
Problema
Durante l'esplorazione degli artefatti oracle E-Business Suite in un progetto di Visual Studio tramite l'Aggiunta guidata metadati dell'adattatore, il plug-in di riferimento al servizio adapter o il componente aggiuntivo Consume Adapter Service è possibile che si verifichi un'eccezione di timeout.
Causa
Questo problema può verificarsi se il server che ospita Oracle E-Business Suite è lento, il server si trova in una posizione remota o lo schema in cui si sta cercando ha un numero elevato di artefatti.
Risoluzione
È possibile scegliere di aumentare il valore della proprietà di associazione SendTimeout o di fornire un'espressione di ricerca nella casella di testo Cerca nella categoria per ridurre il numero di elementi recuperati dall'adattatore.
Per altre informazioni sulla specifica delle proprietà di associazione, vedere Configurare le proprietà di associazione per Oracle E-Business Suite. Per altre informazioni sulla ricerca di elementi in Oracle E-Business Suite, vedere Esplorare, cercare e ottenere metadati per le operazioni di Oracle E-Business Suite.
L'utilizzo della memoria e il numero di thread aumenta quando si usa l'adapter in un'operazione in ingresso transazionata
Problema
In un'operazione in ingresso transazionata, ad esempio polling, se non sono disponibili dati nella tabella di cui viene eseguito il polling e l'adapter continua a eseguire il polling, nel corso di un periodo di tempo si verifica un aumento dell'utilizzo della memoria e del conteggio dei thread.
Causa
Se non sono disponibili dati nella tabella di cui viene eseguito il polling, dopo ogni ciclo di timeout di ricezione, Windows Communication Foundation (WCF) genera un nuovo thread per continuare l'operazione di polling. Di conseguenza, il numero di thread e l'utilizzo della memoria aumentano in un periodo di tempo. Tuttavia, se la tabella sottoposta a polling contiene alcuni dati, lo stesso thread continua a eseguire tutti i sondaggi successivi.
Risoluzione
È consigliabile impostare ReceiveTimeout sul valore massimo possibile, ovvero 24.20:31:23.6470000 (24 giorni) in modo che venga generato un nuovo thread solo ogni 24 giorni. In questo modo, l'utilizzo della memoria e il numero di thread non aumentano troppo presto.
Per altre informazioni sulla proprietà di associazione ReceiveTimeout , vedere Informazioni sulle proprietà di associazione dell'adapter BizTalk per Oracle E-Business Suite. Per istruzioni sulla specifica delle proprietà di associazione, vedere Configurare le proprietà di associazione per Oracle E-Business Suite.
Nota
Quando si usa l'adattatore con BizTalk Server, l'impostazione del timeout su un valore elevato non influisce sulla funzionalità dell'adattatore.