Salve, ho questo problema con il service broker.Seguendo il bellissimo e utilissimo tutorial di Davide sono riuscito a implementare un sistema di messaggistica fra la macchina A e la macchina B.Ho implementato la transport security, la dialog security e riesco a spedire un messaggio da A a B, leggere il messaggio su B e ricevere la risposta su A per chiudere il dialogo anche da questa parte.Nella mia applicazione però avrei bisogno di mettere in piedi anche un sistema di messaggi da B ad A . (Anche B deve fare delle richiesta ad A).A questo punto ho creato due nuovi messaggi (per richiesta e risposta), nuovo contratto, due nuovi servizi (uno su A e uno su B) due nuove route e due nuovi remote binding utilizzando la struttura certificati, login e utenti creata nella prima implementazione.Rieseguo tutto il test da A a B e sembra tutto ok (messaggio ricevuto su B e risposta ricevuta su A) ma se guardo con il profiler dopo poco B genera un Message Undeliverable con questo testo “This message could not be delivered because the security context could not be retrieved.” E su traccia profile di A trovo ancora Message Underiverable con Testo “This message could not be delivered because the 'receive sequenced message' action cannot be performed in the 'CLOSED' state.”
Anche facendo il percorso inverso con i nuovi servizi da B a A sembra andare tutto bene ma appena completato il giro il server B (sempre lui) invia il solito Message Underiverable seguito dal server A con il solito messaggio.
Ho provato ad aspettare a verificare la chiusura sul server iniziato del dialogo maq, anche se vado a verificare quando l’errore è stato generato nella coda trovo solo l’endDialog.
Nel log di SQL non trovo nessuna segnalazione, le code sono vuote, le code di trasmissione sono vuote e tutte le conversazioni in sys.conversation_enpoints risultano chiuse (sia su server A che su Server B) e quindi non riesco a capire quale errore viene generato (e quindi come risolverlo)
Se elimino nuovamente gli oggetti relativi alla messaggistica da B ad A tutto torna a posto e anche in SQL Profiler non vedo il messaggio di errore.
Qualcuno può aiutarmi a capire l’ errore (perché non riesco a recuperarlo) e poi, eventualmente ad eliminarlo
Grazie di tutto e scusatemi se sono stato un po’ “lungo” nella spiegazione
Luca