2009-11-09 34 views
10

Ho due client WCF che utilizzano un servizio Web di terze parti.Nessun endpoint in ascolto su <URI> che potrebbe accettare il messaggio. Ciò è spesso causato da un indirizzo errato o un'azione SOAP

Questi due client eseguono la stessa chiamata di metodo. In un caso funziona sempre, nell'altro compare il messaggio "Non c'era nessun endpoint in ascolto ...".

Per quanto posso dire, l'unica differenza tra le due chiamate è che si trovano in due diversi client exes e ciò significa che i file .exe.config non sono gli stessi. Usano lo stesso codice sorgente, che è condiviso tra i due progetti in Visual Studio, quindi non è diverso.

Ma in realtà il contenuto di questi due file exe.config è (quasi) esattamente lo stesso; l'unica differenza è che exe.config per la chiamata che ha esito negativo ha valori maggiori per gli attributi maxBufferSize e maxReceivedMessageSize dell'elemento di bind, nonché un valore sendTimeout più grande.

risposta

6

Questa non è davvero una risposta, è una spiegazione.

Il problema è quello dei due client sopra, uno era un'app desktop Windows Form e l'altro un servizio di Windows. Entrambi hanno utilizzato lo stesso codice base (cioè l'istanza di una classe) e quasi gli stessi file app.config.

MA il servizio ha effettuato l'accesso con SystemAccount e, in alcuni siti, questo non sembra avere i diritti/profilo per accedere a Internet e pertanto non è stato in grado di trovare l'endpoint del servizio Web. Ovvio. Quando sai.

+0

Come hai risolto questo problema? – BlueChippy

+0

Non riesco a ricordare come ho risolto questo caso reale, ma ci sono almeno due soluzioni: o il SystemAccount può essere in grado di accedere a Internet, o ottenere il servizio per accedere in modo tale da ottenere l'accesso al Internet. – Peter

Problemi correlati