WCF Publier erreur: les Métadonnées contient une référence qui ne peut pas être résolu:
J'ai un service web WCF je suis tryiong de publier à IIS. Je peux afficher le wsdl bien, mais impossible d'ajouter le service dans Visual Studio 2010 au moyen de l'Ajouter une Référence de Service menu. J'obtiens l'erreur suivante:
Metadata contains a reference that cannot be resolved: 'http://localhost:4567/Service.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://localhost:4567/Service.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost:4567/Service.svc'.
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:4567/Service.svc. The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.
Je fonctionne très bien en local, mais pas en cas de publication de IIS.
Personne ne sait ce qui est à l'origine de ce problème? Voici mon site web.config, je suis nouveau sur le FMC pourrait avoir raté quelque chose, merci:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<connectionStrings>
</connectionStrings>
</configuration>
OriginalL'auteur Funky | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
Je vraiment souhaitez Microsoft serait de mettre de meilleurs diagnostics en place pour nous donner des informations plus ciblées sur WCF les erreurs de configuration, soit à la compilation ou à l'exécution, je n'ai pas de soins, mais il a perdu de nombreuses heures de temps de développement au fil des ans, c'est irréel.
Pour moi, ce ridiculement erreur générique de la cause, était-ce:
Doit avoir été présent:
Deux heures de péter découlent autour d'essayer d'activer le Net.Tcp pour quelque chose qui aurait facilement pu être mis en évidence dans l'IDE. Deux heures!!!
fart-arsing
.moi aussi, hee hee 🙂
À seulement deux heures?
OriginalL'auteur Moby's Stunt Double
Que c'est l'un des premiers postes de google se présente pour cette erreur, je veux participer avec ma solution:
J'ai eu une erreur similaire en changeant de code dans un système qui fonctionne bien, mais la mise à jour de la référence sur mon système de développement ont échoué. La référence est situé à l'intérieur d'un projet silverlight et est liée à une WCF intégré dans les environs du site (configuration standard je suppose).
Mon message d'erreur inclus
Mon site utilise les rôles d'autorisation, c'est là que le problème/solution a été fondée. Pour la mise à jour de la référence de service, j'ai dû permettre à tous les utilisateurs:
OriginalL'auteur Ulfert
Vérifier la réponse ici Forum MSDN
OriginalL'auteur sundog
Reçu fondamentalement le même message d'erreur lorsque vous tentez de mettre à jour le service de référence de l'un de nos serveurs de test. Texte Exact (supprimé IPs etc):
Cela ne semble pas juste pour moi, donc j'ai utilisé un violon pour voir ce que les réponses étaient de retour à partir du serveur lors de la VS a été de tenter de générer un proxy à partir des métadonnées. Il s'avère que les métadonnées ont été pointant vers VS pour le nom d'hôte que le serveur s'identifie lui-même comme par exemple -- wwww.server.com. Ajouté hôtes appropriés fichier d'entrée et le proxy généré avec succès.
OriginalL'auteur Joshua Evensen
J'ai eu ce problème lorsque l'un de mes DataMember objets avaient un constructeur. Je ne suis pas sûr si c'était les paramètres pour le constructeur ou quelque chose à l'intérieur. Mais j'ai pu le résoudre en faisant le constructeur d'une méthode statique qui a renvoyé un nouveau type qu'il a été précédemment construction.
OriginalL'auteur SixOThree
Essayez d'utiliser l'outil WSDL, ouvrez une Invite de Commande Visual Studio:
OriginalL'auteur Jeremy Thompson
Ajouter à la liste des choses qui provoquent l'Erreur 415, dans mon cas, j'ai oublié d'ajouter
[DataContract]
et[DataMember]
attribut d'une classe qui a été utilisé par le service.OriginalL'auteur Maciej Szpakowski
Dans mon cas, c'était un manque constructeur vide à l'une des classes dont le service a renvoyé. après l'ajoutant l'erreur a été supprimée.
OriginalL'auteur user1418586