2010-06-17 13 views
0

Nous utilisons la fonctionnalité de liste déroulante et de saisie semi-automatique AJAX en cascade avec les services Restful WebService fournissant des données. Avec un point d'extrémité (non sécurisé), tout fonctionnait correctement, jusqu'à ce que nous essayions la même page Web avec https. Notre application Web doit prendre en charge les deux. Notre de très peu d'articiles/blogs sur cette question, j'ai trouvé 2 qui s'applique à mes exigences.Configuration WCF pour WebHttpBinding (Restful) pour la prise en charge des protocoles HTTP et HTTPS

  1. http://blog.abstractlabs.net/2009/02/ajax-wcf-services-and-httphttps.html
  2. http://www.mydotnetworld.com/post/2008/10/18/Use-a-WCF-Service-with-HTTP-and-HTTPS-in-C.aspx

Je suivis même modèle, ajoute 2 points d'extrémité, en supposant WCF pick-up point limite approprié regardant le protocole HTTP ou HTTPS. Travaillé comme un charme dans ma machine de développement (XP-IIS5) et 1 Server 2003R2 (IIS6), cependant fonctionnait dans le serveur de production 2003-IIS6. Le site Web dans IIS est exactement le même (y compris la permission, etc.). L'erreur qu'il lance - Erreur 500 (Impossible de trouver une adresse de base qui correspond schéma https pour le point final avec une liaison WebHttpBinding schémas d'adresse de base enregistré sont [http] ...)

Voici la configuration de l'échantillon (ignorer les fautes de frappe)

<system.serviceModel> 
    <bindings> 
     <webHttpBinding> 
     <binding name="SecureBinding"> 
      <security mode="Transport"/> 
     </binding> 
     </webHttpBinding> 
    </bindings> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="SearchServiceAspNetAjaxBehavior"> 
      <enableWebScript /> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    <services> 
     <service name="SearchService"> 
     <endpoint address="" behaviorConfiguration="SearchServiceAspNetAjaxBehavior" 
      binding="webHttpBinding" contract="SearchServiceContract" /> 
     <endpoint address="" behaviorConfiguration="SearchServiceAspNetAjaxBehavior" 
      binding="webHttpBinding" bindingConfiguration="SecureBinding" contract="SearchServiceContract" /> 
     </service> 
    </services> 
    </system.serviceModel> 

Toute aide à ce sujet est très appréciée?

Merci KSS

+0

Avez-vous trouvé une solution? –

Répondre

0

J'utilise presque la même configuration dans mon service, bien que mon comportement point final fait référence <webHttp /> au lieu de <enableWebScript />. Vous avez mentionné que vos serveurs sont les mêmes, mais dans tous les cas, avez-vous essayé de tester le trafic SSL ailleurs sur le serveur concerné?

+0

Merci de votre réponse. Je n'ai pas encore utilisé , vous pensez que cela peut faire la différence? Je vais essayer de toute façon aujourd'hui. Le trafic SSL du serveur affecté semble bon pour d'autres fonctionnalités. Sinon, est-ce que quelqu'un voit un problème avec l'approche? Est-il possible que votre Webservice de repos (webhhtpbinding) fonctionne à la fois pour http et https en même temps avec l'aide d'une configuration WCF seulement? Ou je dois le faire par programmation (quelque chose comme comprendre si appel est http ou https et utiliser une liaison appropriée)? – KSS