0

IIS5.1を搭載したWindowsXPマシンを使用しており、自分で作成した証明書を使用して既定のWebサイトに署名しました。これで、デフォルトのWebサイトで実行されているWCF Web APIを使用して構築されたRESTサービスがあり、特定のリソースを呼び出そうとすると、次のエラーが発生します。

提供されたURIスキーム'https'は無効です。予想される「http」。パラメータ名:context.ListenUriBaseAddress

これは私の構成です、

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, 
      System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
  </system.webServer>    
  <system.serviceModel>
    <services>
        <service name="QuartzResource">
            <endpoint binding="webHttpBinding" contract="webHttpBinding"
                behaviorConfiguration="webHttp" bindingConfiguration="bindConfig"/>
        </service>
    </services>
    <bindings>
        <webHttpBinding>
            <binding name="bindConfig">
                <security mode="Transport">
                    <transport clientCredentialType="Certificate"></transport>
                </security>
            </binding>
        </webHttpBinding>
    </bindings>
    <behaviors>     
        <endpointBehaviors>
            <behavior name="webHttp">
                <webHttp/>                  
            </behavior>
        </endpointBehaviors>
    </behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

これはリソースクラスです。

[ServiceContract]
public class QuartzResource
{
    [WebGet(UriTemplate = "")]
public List<Job> GetJobs()
{
        ...
    return allJobs;
}
}

これは私のGlobal.asax.csです。

 protected void Application_Start(object sender, EventArgs e)
 {
      RouteTable.Routes.MapServiceRoute<QuartzResource>("");
 }

注:VS開発サーバーで実行すると、問題なく動作します。

4

0 に答える 0