Le type de contenu application/xml;charset=utf-8 du message de la réponse ne correspond pas au type de contenu de la liaison (text/xml; charset=utf-8), WCF
Je sais que cette question a été posée quelques fois avant, mais les solutions apportées, soit ne fonctionnent pas pour moi ou alors je suis trop ignorant pour bien comprendre comment mettre en œuvre la solution.
Ainsi, le site, je suis de la tentative d'exécution s'enfuit d'un WCF client. Chaque fois qu'un service WCF essaie d'être appelé (c'est à dire, une base de données de recherche ou de modifier), il s'agit avec cette erreur
Le type de contenu text/html; charset=utf-8 du message de la réponse n'
correspond pas au type de contenu de la liaison (text/xml; charset=utf-8).
Si à l'aide d'un codeur personnalisé, assurez-vous que le IsContentTypeSupported
la méthode est mise en œuvre correctement. Les 1024 premiers octets de la réponse
étaient:"
Quand je fais cette erreur se produit par le biais d'une exception non gérée, c'est ce qui apparaît
http://i.imgur.com/Vj7Baik.png
(Remarque: la ligne qui coupe à la fin de lit)
[ProtocolException: The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<!DOCTYPE html>
Ici, c'est le web.fichier de configuration utilisé pour le site (je ne suis pas sûr de savoir si le problème est centré ici, mais j'ai le sentiment de suspicion qu'il est)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=DefaultConnection;Integrated Security=false;User ID=******;Password=******;"/>
<add name="ITPDatabase" connectionString="Data Source=localhost;Initial Catalog=ITPDatabase;Integrated Security=false;User ID=******;Password=******;"/>
</connectionStrings>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<pages>
<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
</controls></pages>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" defaultUrl="~/" timeout="2880" />
</authentication>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<add connectionStringName="DefaultConnection" applicationName="/"
name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="defaultServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="defaultEndpointBehaviour">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="*****.Service1" behaviorConfiguration="defaultServiceBehaviour">
<endpoint address="" binding="wsHttpBinding" contract="ServiceReference1.IService1"></endpoint>
<endpoint address="http://<domainname>.com/Service1.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
</service>
</services>
<client>
<endpoint address="http://<domainname>.com/Service1.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
</client>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" resourceType="File" preCondition="integratedMode" /> </handlers>
</system.webServer>
</configuration>
Maintenant, d'après ce que j'ai recueilli d'autres questions, l'essentiel de l'erreur que je reçois est au lieu d'obtenir la réponse xml de la base de données, j'obtiens une page html à l'erreur.
Avant de demander ici, j'ai été chercher de l'aide auprès de l'hébergeur, de support technique, mais à ce point, ils ne sont pas sûr de ce que le problème est (ou au moins, la personne dont je parlais n'était pas certain)
Nous avons utilisé IIS pour tenter de bricoler avec certains paramètres dans le système (pas de véritable changement) donc je peux supposer que le site est un hébergement sur IIS?
Toute aide sur le sujet est grandement appeciated.
Vous devez vous connecter pour publier un commentaire.
Vous obtenez une erreur 500. Cela signifie que l'erreur est d'être jeté sur le serveur hébergeant le service, et non à partir de l'appelant. Ma conjecture est mauvais de données envoyées vers le service, comme une valeur null ou une chaîne à la place de int, ou de ne pas envoyer tous les bits du service l'exige.
Pour avoir une vue plus détaillée de l'erreur, soit vous devez
a) exécuter la même requête sur le serveur hébergeant le service
eg - si votre appel au service est http://www.domain.com/service.svc?id=1, ont exécuté l'URL sur le serveur sur lequel le service est hébergé et de vous envoyer l'erreur.
b) désactiver les erreurs personnalisées pour obtenir l'erreur en modifiant le web.config du service