WCF с самоподписанным SSL в IIS 6.0, получая странную ошибку на клиенте - PullRequest
0 голосов
/ 17 декабря 2009

У меня есть служба WCF, работающая на IIS 6, и доступ к ней должен осуществляться через SSL, содержащий самозаверяющий сертификат. Я прошел настройку миллион раз, и все выглядит правильно, но я получаю следующую ошибку из моего клиентского приложения:

System.Net.WebException: удаленный сервер возвратил ошибку: (404) Not Found.

EndpointNotFoundException: не было прослушивания конечной точки на https://207.136.158.108/vca_mp/MarketingDataServices.svc, которая могла бы принять сообщение. Это часто вызывается неверным адресом или действием SOAP

Адрес правильный, наверное, это как-то связано с конфигом. Вот мой конфиг клиента:

<bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IMarketingDataServices" maxBufferPoolSize="524288" maxReceivedMessageSize="1000000000" messageEncoding="Text">
                <security mode="Transport">
                    <transport clientCredentialType="None" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>

    <client>
        <endpoint address="https://207.136.158.108/vca_mp/MarketingDataServices.svc"
            binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMarketingDataServices"
            contract="MarketingDataServicesReference.IMarketingDataServices"
            name="WSHttpBinding_IMarketingDataServices">
            <identity>
                <dns value="localhost" />
            </identity>
        </endpoint>
    </client>

Любая помощь, которую кто-то может оказать, будет очень цениться.

Лучший, Себастьян Г. sgvirtzman@directpartners.com

Ответы [ 2 ]

0 голосов
/ 18 декабря 2009

Самоподписанные сертификаты плохо работают с WCF, так как они не предоставляют список отзыва сертификатов или доверенный корневой сертификат. Вы можете использовать makecert для создания корневого сертификата, CRL и последующих сертификатов, следуя инструкциям на MSDN

0 голосов
/ 18 декабря 2009

Вот конфигурация сервиса:

<behaviors>
   <serviceBehaviors>
    <behavior name="IMPIntranet.WebServices.MarketingDataServicesBehavior">
     <serviceMetadata httpsGetEnabled="true" />
     <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
   </serviceBehaviors>
  </behaviors>




<services>
   <service behaviorConfiguration="IMPIntranet.WebServices.MarketingDataServicesBehavior"
    name="IMPIntranet.WebServices.MarketingDataServices">
    <endpoint address="" binding="wsHttpBinding" contract="IMPIntranet.WebServices.IMarketingDataServices">
     <identity>
      <dns value="localhost" />
     </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
   </service>
  </services>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...