In un client Java, l’errore 507 o un messaggio di fine flusso (end-of-stream) può indicare che la connessione socket si è interrotta. Controlli se TWS si è chiuso, si è riavviato o ha rifiutato un client concorrente. Ripristini lo stato prima di riprovare le azioni operative.
Indicazioni didattiche sul software. Il trading comporta rischi. Legga le avvertenze finanziarie e informative.
Passo dopo passo
- 1 Salvi prima il messaggio completo dell’app. Per controllare un log API di TWS registrato, apra Help → Troubleshooting → Diagnostics → API Logs. Selezioni la data e scelga View Logs. Se l’elenco è vuoto, attivi il logging API prima del prossimo evento.
- 2 Confronti l’orario dell’errore del socket con i riavvii e le chiusure di TWS.
- 3 Apra Help → Data Connections e controlli nell’elenco API Connections se un altro client usa lo stesso ID. Lo confronti con il log dell’app; un elenco vuoto non spiega una disconnessione precedente.
- 4 Se necessario, riporti TWS a uno stato di accesso completo.
- 5 Riconnetta una sola volta l’app desiderata e attenda l’inizializzazione del conto.
- 6 Confronti ordini in lavorazione, esecuzioni e posizioni prima di consentire nuovi segnali.
Un esempio pratico
Supponga che TWS si riavvii mentre un’app Java sta ancora leggendo dal proprio socket. L’app può vedere la fine del flusso e segnalare 507. Questo non indica se l’ultima richiesta di operazione abbia raggiunto il broker prima dell’interruzione. Ripristini il collegamento, poi confronti ordini ed esecuzioni con l’ultimo alert. Riparare il collegamento e decidere se reinviare sono due compiti separati.
Riferimento della schermata




Errore da evitare
Domande frequenti
È uguale in ogni linguaggio di programmazione?
Il codice o l’eccezione segnalati possono differire tra le implementazioni dell’API.
Posso semplicemente reinviare l’ultima operazione?
Prima confermi se quell’operazione è stata accettata prima della disconnessione.