WCF charset=utf-8 du message de la réponse ne correspond pas au type de contenu de la liaison (application/soap+xml; charset=utf-8)

Je suis d'hébergement d'un service WCF dans IIS 7.5 utilisation .NET 4.0. J'ai aussi une application WPF que je suis en utilisant comme mon client qui a été construit avec Visual Studio 2010 et .NET 4.0. J'ai ajouté mon service de référence et lorsque je tente de l'appeler une fonction, j'obtiens l'exception suivante

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 (application/soap+xml; charset=utf-8)

Je suis en mesure de naviguer vers le service dans un navigateur web et mes liaisons semble être le même entre le client et le service (WsHttp liaisons).

Je sais qu'il y a beaucoup de résultats de google sur cette erreur mais aucun d'eux ne semblait pertinent d'aide/mon problème spécifique. J'ai essayé d'installer la Non-Activation HTTP fonctionnalités ainsi que d'une grande variété d'autres petits trucs. N'importe qui puisse l'aider? Grâce

modifier, voici mes configs (ils sont assez longues)

Client

<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ContentSoap" 
closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
maxBufferSize="2147483647" maxBufferPoolSize="2147483647" 
maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" 
maxArrayLength="2147483647"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<binding name="OrderSoap" 
closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" 
maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" 
maxArrayLength="16384" maxBytesPerRead="4096" 
maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
<netTcpBinding>
<binding name="NetTcpBindingEndpoint" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered"  
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"  
maxBufferPoolSize="2147000000" maxBufferSize="65536" maxConnections="10" 
maxReceivedMessageSize="2147000000">
<readerQuotas maxDepth="32" maxStringContentLength="8192"  
maxArrayLength="2147000000" maxBytesPerRead="4096" 
maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:01:00"
enabled="true" />
<security mode="None">
<transport clientCredentialType="Windows" 
protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
<wsHttpBinding>
<binding name="WSHttpBinding_IInmateCanteenServiceWeb" 
closeTimeout="00:01:00" openTimeout="00:01:00" 
receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false"  
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" 
maxArrayLength="16384" maxBytesPerRead="4096" 
maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint name="ContentSoap"
address="http://media.team.twvending.net/storeservices/content.asmx"
binding="basicHttpBinding" bindingConfiguration="ContentSoap"
contract="MediaPortContent.ContentSoap"  />
<endpoint name="OrderSoap"
address="http://media.team.twvending.net/storeservices/order.asmx"
binding="basicHttpBinding" bindingConfiguration="OrderSoap"
contract="MediaPortOrder.OrderSoap"  />
<endpoint name="NetTcpBindingEndpoint" 
address="..."
binding="netTcpBinding" bindingConfiguration="NetTcpBindingEndpoint"
contract="WebCallBack.ICallbackService" />
<endpoint name="WSHttpBinding_IInmateCanteenServiceWeb" 
address="..."
binding="wsHttpBinding"  
bindingConfiguration="WSHttpBinding_IInmateCanteenServiceWeb"
contract="InmateCanteenWeb.IInmateCanteenServiceWeb" />
<endpoint name="WSHttpBinding_ICommAccountingBinding" 
address="..."
binding="wsHttpBinding" 
bindingConfiguration="WSHttpBinding_IInmateCanteenServiceWeb"
contract="CommAccountingWeb.ICommAccountingWeb" />
</client>
</system.serviceModel>

et le Serveur

<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="httpBehavior">
<!--<webHttp />-->
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceCredentials>
<clientCertificate>
<authentication revocationMode="NoCheck" />
</clientCertificate>
<serviceCertificate findValue="CN=secure.inmatecanteen.com" />
</serviceCredentials>
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="MexBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="HttpMexBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="BasicHttpMexBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" 
multipleSiteBindingsEnabled="true" />
<bindings>
<wsHttpBinding>
<binding name="myWsHttpBinding" maxBufferPoolSize="2147483647" 
maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" 
maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
<webHttpBinding>
<binding name="myWebHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" 
realm=""  />
</security>
</binding>
</webHttpBinding>
<basicHttpBinding>
<binding name="myBasicHttpBinding" maxBufferPoolSize="2147483647" 
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" 
maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="CommAccountingWeb.CommAccountingWeb"  
behaviorConfiguration="HttpMexBehavior">
<endpoint 
address="" 
behaviorConfiguration="httpBehavior" 
binding="webHttpBinding" bindingConfiguration="myWebHttpBinding" 
contract="CommAccountingWeb.ICommAccountingWeb" />
<endpoint 
address="mex"
binding="mexHttpsBinding" 
contract="IMetadataExchange"  />
<host>
<baseAddresses>
<add baseAddress="..."></add>
</baseAddresses>
</host>
</service>
<service name="CommAccountingWeb.CommAccountingBasic" 
behaviorConfiguration="BasicHttpMexBehavior">
<endpoint 
address="" 
binding="basicHttpBinding" 
bindingConfiguration="myBasicHttpBinding" 
contract="CommAccountingWeb.ICommAccountingBasic" />
<endpoint 
address="mex"
binding="mexHttpBinding"  
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="..." />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
Cela sonne comme si votre service est configuré pour webHttpBinding et donc de retour juste du XML, alors que votre client s'attend à un SOAP XML message.... Pouvez-vous nous montrer le serveur et côté client configs??
Voir mon montage....
OK merci pour l'edit - mais vous avez donc beaucoup de points de terminaison de service et les clients de connexion - ceux utilisez-vous l'origine de ce problème?? Que fait votre code côté client ressembler, que vous essayez de l'utiliser pour appeler l'une de ces fonctions??
Celui qui est à l'origine de m'problèmes est la CommAccountingService. Les autres points de fin fonctionnent parfaitement. Sur le site du client, le point final est appelé "WSHttpBinding_ICommAccountingBinding'. Aussi loin que le code côté client, il est généré par visual studio. Tout ce que je fais est de créer un CommAccountingWebClient objet et je peux voir tous mes fonctions. Lorsque je tente de l'appeler, c'est lorsque cette exception est levée.

OriginalL'auteur tier1 | 2011-12-26