2016-11-21 15 views
-3

web apiコントローラがあり、Javaクライアントでそれを消費する必要がありますが、証明書に問題があるためHTTPSではなくHTTPで作業する必要があります。WEB API DotNetでHTTPS over HTTPを強制する

public static class WebApiConfig 
{ 

    public static void Register(HttpConfiguration config) 
    { 
     config.MapHttpAttributeRoutes(); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      constraints : null, 
      defaults: new { id = RouteParameter.Optional } 
     ); 
     config.Formatters.Remove(config.Formatters.XmlFormatter); 
     config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("application/json")); 
    } 
} 


public class CommentAPIController : ApiController 
{ 
    IItemService ise = new ItemService(); 
    ICategoryService ice = new CategoryService(); 
    // GET: api/CommentAPI 
    [HttpGet] 
    public IEnumerable<Category> Get() 
    { 
     List<Category> list = new List<Category>(); 
     foreach (Category item in ice.getAllCategory()) 
     { 

      list.Add(item); 



     } 
     return list; 
    } 

ヘルプ

+0

「https」なしでURLを呼び出すとエラーが発生しますか? –

+0

ページがロードされていない –

+0

このアプリはどのようにホストされていますか? Visual Studioから実行しますか、またはIISに既に公開されていますか? –

答えて

0

のおかげでウェブAPIプロジェクトのプロパティの編集(その後、プロジェクトを右クリックしてプロパティを、またはプロジェクトの内容を拡張し、[プロパティグループをダブルクリック)してください。

次に、Webの画面に移動して、いずれかのURLがhttpsを指しているかどうかを確認します。

「はい」の場合はhttp://に変更して再起動してください。通常は、[RequireHttps]属性を使用してhttpsを強制しなければならないため、問題は逆のように見えます。

コメントの私たちの議論によると、最後に、HTTPSサービスのために間違ったポートを提供していました。これは私があなたに指摘した正確な画面でした。

他の人にはここで保存しましょう。

関連する問題