Comment configurer basicHttpBinding pour le service WCF

J'ai un service WCF que je suis en train de travailler avec wcf, vieux soap et xml en clair. Le service est appelé TestService.svc et de la configuration ressemble à ceci:

 <system.serviceModel>
  <behaviors>
   <serviceBehaviors>
    <behavior name="TestServiceBehavior">
     <serviceMetadata httpGetEnabled="true"/>
     <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
   </serviceBehaviors>
   <endpointBehaviors>
    <behavior name="poxBehavior">
     <webHttp/>
    </behavior>
   </endpointBehaviors>
  </behaviors>
  <services>
   <service behaviorConfiguration="TestServiceBehavior" name="TestService">
    <endpoint address="" binding="wsHttpBinding" contract="ITestService">
     <identity>
      <dns value="localhost"/>
     </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    <endpoint address="soap" binding="basicHttpBinding" contract="ITestService"/>
    <endpoint address="xml" binding="webHttpBinding"  behaviorConfiguration="poxBehavior" contract="ITestService"/>
   </service>
  </services>
 </system.serviceModel>

J'ai eu ce code à partir de cette autre question:
REST /SOAP points de terminaison pour un service WCF

Maintenant, le XML webHttpBinding semble bien fonctionner, mais les wsHttpBinding et basicHttpBinding ne fonctionne pas très bien.

Je peux navigateur pour le service de l'aide:
http://localhost:8295/WCFTest/TestService.svc

Je peux également utiliser ce système pour ajouter une référence de service dans un asp.net projet de site web et de tenter de consommer le service, mais quand j'ai créer le client:

TestService.TestServiceClient mytest = new TestService.TestServiceClient();

Il dit à spécifier un point de terminaison en raison de plusieurs points de terminaison. Je suppose en raison d'avoir à la fois wsHttp et basicHttp? Comment puis-je spécifier le point de terminaison ici?

Ensuite, j'ai essayer de consommer le basicHttpBinding point de terminaison par l'ajout d'une Référence Web (pas de service de référence) pour une .net site web 2.0. À ce point, je ne suis pas capable d'ajouter la référence et recevez une erreur 400.

Prochain donc j'ai supprimer le wsHttp de liaison et suis en mesure d'ajouter la référence web et utiliser le service via un .net 2.0 client.

Comment puis-je le configurer de sorte que je peux utiliser wsHttpBinding pour les clients qui peuvent consommer normal des services WCF, basicHttpBinding pour les clients qui ne peuvent consommer plus non-WCF requêtes SOAP et ont encore webHttpBinding disponible pour les clients qui veulent consommer de la plaine xml?

codemeit.com/wcf/wcf-restful-pox-json-and-soap-coexist.html devrait vous obtenir par le biais de ce que je pense. Lui donner un essai.

OriginalL'auteur dtc | 2010-06-30