0

証明書とログインを使用して、httpsの安全なサーバーでWebサービスを利用する必要があります。

だから私はVS2008でサービス参照を作成します。

    static void Main(string[] args)
    {
        Console.WriteLine("Value of code TR3A ?\n");
        String codeTR = Console.ReadLine();

        string responseFromServer ="";
        System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();

        serviceTrains.TrainServiceClient myTrainService = new serviceTrains.TrainServiceClient();

        responseFromServer = myTrainService.GetListTrainsAtGare(codeTR).ToString();

        console.WriteLine(responseFromServer);
    }

コンソールアプリで、取得したjsonを記述したいのですが、エラーが発生します:

InvalidOperationException:ChannelFactory.EndpointのAddressプロパティがnullでした。ChannelFactoryのエンドポイントには、有効なアドレスが指定されている必要があります。

しかし、https://blabla.com/TrainService.svc/GetListTrainsAtGare/COEにアクセスすると、機能します...

別の問題:私は作ることができないmyTrainService.Credentials、なぜ??

4

1 に答える 1

0

エラーは、エンドポイントが指定されていないことを示しています。通常、Webサービスリファレンスは、wsdlを取得したエンドポイントをapp.configに格納しますが、コードを別の方法で生成した可能性があり、デフォルトは提供されていません。

コードで、サービスにUrlプロパティがある場合は、次のことを試すことができます。

myTrainService.Url = "https://blabla.com/TrainService.svc/GetListTrainsAtGare/COE";

エンドポイントを構成に入れて、エントリを参照することもお勧めします。System.Configuration.ConfigurationManager

2番目の質問に対処するには、別のSOの質問に適している可能性があります。正確な回答を得るには、接続の種類とセキュリティについてより多くのコンテキストを提供する必要があります。

于 2012-08-09T07:19:39.287 に答える