2012-05-16 10 views
6

Sto tentando di aggiungere il riferimento del servizio.Si è verificato un errore durante il download dei metadati dall'indirizzo

Si è verificato un errore durante il download dei metadati dall'indirizzo

Questo è l'errore che viene visualizzato ancora e ancora?

Aiutateci

+0

si prega di pubblicare il wsdl o inviarmi via email –

+0

come pubblicare un wsdl? –

+0

se è un piccolo file incollalo qui. se è grande e ha dei file di riferimento (ad esempio i tag "import"), inviali tutti a me. Voglio riprodurlo –

risposta

6

ci sono almeno 4 possibilità:

  • I metadati mex cambio endpoint non è definito
  • scambio di metadati non è abilitata
  • Si utilizza l'indirizzo sbagliato
  • Sei bloccato da qualche impostazione di sicurezza

provare l'URL in un browser per vedere che restituisce un WSDL

+0

+0

Il tipo 'SilverlightApplication6.Web.Service1', fornito come il Servizio valore di attributo nella direttiva ServiceHost, o fornito nell'elemento di configurazione system.serviceModel/serviceHostingEnvironment/serviceAccredimenti non sono stati trovati. –

+0

Il browser visualizza il messaggio precedente durante la pubblicazione dell'URL. –

1

Nel file web.config ho cambiato:

<endpoint address="" binding="pollingDuplexHttpBinding" 
    contract="IAsyncTaskService"/> 

a questo:

<endpoint address="" binding="pollingDuplexHttpBinding" 
    contract="DuplexService.Web.IAsyncTaskService"/> 

e l'errore è stato rimosso. Zeni

0

Un'altra possibilità in questa situazione è l'assenza dell'ascolto dell'endpoint. Ad esempio, il servizio che stai cercando di aggiungere non è "attivo". Ho fatto questo errore quando ho provato ad aggiungere un riferimento a un servizio WCF su cui stavo lavorando, ma ho dimenticato di aprirlo.

4

Stava accadendo lo stesso per me e ho trovato che ho ero dimenticato di aggiungere il "Contratto di Servizio" e le annotazioni "Operazione Contratto" sull'interfaccia del mio servizio WCF

+1

Lo stesso se si è dimenticato '[DataContract]' sulle classi che si desidera utilizzare. – benderto

3

Basta provare a costruire il progetto senza errori e dare nuovamente il riferimento al servizio.

+0

Questo ha aiutato per me –

13

Potrebbe anche essere necessario creare/ricostruire il progetto.

1

provare a ricostruire il progetto prima, se non risolvere il problema, provare a cambiare la proprietà httpGetEnabled da FALSE a TRUE nel web.config.

<serviceBehaviors> 
    <behavior name="serviceBehavior"> 
     <serviceMetadata httpGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
    </serviceBehaviors> 
0

Verificare che IIS stia servendo l'URL del servizio. Nel mio caso, avevo cambiato la mia password di Windows, ma avevo dimenticato che queste credenziali venivano utilizzate da IIS sia nell'applicazione che nel pool di app.

0

Ho riscontrato un problema come questo: l'aggiunta di un riferimento al servizio non è riuscita con un messaggio "Metodo non consentito".

il WSDL ha funzionato bene nel mio browser ..

La ragione è che ho configurato il punto finale per l'ascolto su http://0.0.0.0:6000/mex, che lo strumento "Add Service Reference" non sembra gradire. Cambiarlo in un vero indirizzo IP ha funzionato (ad es.http://127.0.0.1:6000/mex)

0

So che questo è un vecchietto, ma ho pensato che vorrei aggiungere che cosa ha funzionato per me in modo che io possa trovare di nuovo lungo la strada;)

Nel mio caso, l'utente AppPool non ha avuto accedere a% Windir% \ temp, che apparentemente è necessario per generare i dati MEX.

Grida a Amy Peng nel this thread per il suo suggerimento!