2010-06-17 2 views
0

Мы используем функции каскадирования AJAX Cascading и AutoComplete с помощью Restful WebService Services, предоставляющих данные. С одной конечной точкой (незащищенной) eveything работала нормально, пока мы не попытались использовать одну и ту же веб-страницу с https. Наше Web-приложение должно поддерживать оба. Наше очень мало артикулов/блогов по этому вопросу, которые я нашел 2, которые относятся к моим требованиям.Конфигурация WCF для WebHttpBinding (Restful) для поддержки как HTTP, так и 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

я следовал той же схеме, добавили 2 конечные точки, предполагая, что ФОС будет пикап соответствующее конечной точке, глядя на протокол HTTP или HTTPS. Работала как прелесть в моей машине dev (XP-IIS5) и 1 Server 2003R2 (IIS6), однако работала на сервере Production 2003-IIS6. Веб-сайт в IIS точно такой же (включая разрешение и т. Д.). Ошибки он выдает - Ошибка 500 (не удалось найти базовый адрес, который соответствует схеме HTTPS для конечной точки с привязкой WebHttpBinding схема Registered базы адресов [HTTP] ...)

Вот пример конфигурация (игнорировать опечатки)

<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> 

Любая помощь по этому поводу очень ценится?

Благодаря KSS

+0

Вы нашли решение? –

ответ

0

Я использую почти такую ​​же конфигурацию, в моей службе, хотя моя конечная точка поведения ссылается <webHttp /> вместо <enableWebScript />. Вы упомянули, что ваши серверы одинаковые, но в любом случае вы пытались проверить SSL-трафик в другом месте на затронутом сервере?

+0

Спасибо, что ответили. Я еще не использовал , вы думаете, что это может иметь значение? Я попробую это так или иначе сегодня. Трафик SSL-сервера, привязанный к серверу, отлично подходит для других функций. В противном случае, кто-нибудь видит какие-либо проблемы с подходом? Возможно ли, что ваш веб-сервис Rest Webservice (webhhtpbinding) работает как для http, так и для https одновременно с помощью некоторой конфигурации WCF? Или я должен делать это программно (что-то вроде выяснения, является ли вызов http или https и использует соответствующую привязку)? – KSS