Che cosa significa errore ORA-12571 (TNS: packet scrittore fallimento) significa in un servizio Web?

StackOverflow https://stackoverflow.com/questions/1579605

Domanda

Sfondo : Sto chiamando un servizio di web scritto in ASP.NET che interroga un database Oracle. So che il servizio Web in sé funziona, perché ho usato prima di altre applicazioni. Così ho un'applicazione web in Visual Studio che ho passare avanti e indietro a punto dal servizio web un 'DEV' ad una versione di produzione configurato dello stesso servizio web per il test. Che punta al servizio Web configurato il 'DEV' non è un problema, ma chiamando la versione di produzione ottengo sempre un'eccezione chiamando il servizio:

SoapException was unhandled by user code
Server was unable to process request. ---> could not execute query
[ SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1 asc ]
Positional parameters:  #0>00073%
[SQL: SELECT this_.FIELD1 as FIELD1_18_0_, this_.FIELD2 as FIELD12_18_0_ FROM ABC.TABLE_A this_ WHERE this_.FIELD1 like :p0 ORDER BY this_.FIELD1] ---> ORA-12571: TNS:packet writer failure

Ho eseguito le query SQL contro il database appropriato (tagliato e incollato direttamente dal messaggio di eccezione) e la query tornato con i dati previsti. Ho provato ad aggiornare e ri-aggiungendo il riferimento del servizio Web sia come un "Servizio di riferimento" (.NET 3.0+ modo) e come un "riferimento Web" (Più modo NET), ed entrambi danno lo stesso errore.

Domanda : Allora, che cosa fa un "ORA-12571: TNS: packet fallimento scrittore" errore medio nel contesto di un servizio Web? Guardando il numero di errore Oracle dà alcune cause molto vaghe le possibili come la "connessione via cavo allentato" o "conflitto di indirizzi IP". Sono abbastanza certo non è né di questi, dal momento che una diversa applicazione è attualmente utilizzando con successo che Web Service. Forse qualche tipo di errore di configurazione, o forse qualcosa di più sottile? Chiunque altro visto questo fastidioso numero di errore Oracle viene attribuita a qualcosa di web-service correlate?

È stato utile?

Soluzione

La chiamata è andare dal client al server ws ws al database Oracle.

Il tuo errore è un errore ORA, che viene generato dal database. Quindi il problema è probabilmente tra il server e il database ws.

Quando è stato eseguito "le query SQL sul database appropriato", l'hai fatto dal server web? Se non si poteva provare che. Assicurarsi che si sta utilizzando la stessa configurazione di connessione.

Modifica

Come per il commento qui sotto, il vero problema era una mancata corrispondenza del driver.

Altri suggerimenti

Vorrei suggerire ri-esaminare le vostre ipotesi con più attenzione, in quanto si tratta chiaramente di un errore nel dialogo web-service con il db e dovrebbe essere completamente indipendente del chiamante il w / s.

Se la chiamata w / s sta generando questa eccezione specifica, dovrebbe essere farlo per tutte le altre invocazioni, in modo che le 'altra applicazione' che sta utilizzando il servizio web con successo non è semplicemente eseguendo lo stesso codice o ci sono fattori esterni a giocare.

In entrambi i casi, è estraneo a come il servizio è registrato o invocata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top