1

https経由でWCFサービスを使用するようにほぼすべてを設定しています。IISアプリケーションが稼働しているので、ローカルホストでsvcとwsdlを読み取ることができます。そこで、Visual Studioに戻って、サービスを呼び出すことができるクライアントを作成しようとしました。ServiceReferenceを追加すると、次のエラーが発生します。

バインディングMetadataExchangeHttpsBindingを持つエンドポイントのスキームhttpsに一致するベースアドレスが見つかりませんでした。登録されているベースアドレススキームは[http]です。

組み込みの開発サーバーとIISExpressを試してみました。どちらも同じエラーを出しました。

これが私のweb.configです。

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="TransportSecurity">
          <security mode="Transport">
            <transport clientCredentialType="None" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="SmartCook2.Server.ISmartCookServiceBehavior">
          <serviceMetadata httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <services>
      <service behaviorConfiguration="SmartCook2.Server.ISmartCookServiceBehavior" 
        name="SmartCook2.Server.SmartCookService">
        <endpoint address="https://localhost:6344/SmartCookService.svc" 
          binding="wsHttpBinding" bindingConfiguration="TransportSecurity" 
          contract="SmartCook2.Server.ISmartCookService" />
        <endpoint address="mex" binding="mexHttpsBinding" 
          contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

私は何が間違っているのですか?

4

1 に答える 1

0

アプリケーション部分が省略されているため、VSはアドレスを正しく検出しなかったようです。したがって、サービス参照の正しいアドレスは次のとおりです。

https://localhost/IISHostedSmartCook/SmartCookService.svc

于 2011-02-11T20:29:31.583 に答える