2016-07-03 12 views
0

私はC#で作業しています。私は新しいです。 は、私は、WebサービスのURLを持っている:http://grillassessmentservice.cloudapp.net/GrillMenuService.svcc# - WebService - XML

ログイン:[email protected]

パスワード:cleancode

私にそのXMLを与える:

<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom"xml:base="http://grillassessmentservice.cloudapp.net/GrillMenuService.svc/"> 
<workspace> 
    <atom:title>Default</atom:title> 
    <collection href="GrillMenus"> 
    <atom:title>GrillMenus</atom:title> 
    </collection> 
    <collection href="GrillMenuItemQuantities"> 
    <atom:title>GrillMenuItemQuantities</atom:title> 
    </collection> 
    <collection href="GrillMenuItems"> 
    <atom:title>GrillMenuItems</atom:title> 
    </collection> 
</workspace> 
</service> 

私が持っているC#のコード私のコンソールアプリケーションで:

しかし、私はWebサービスにアクセスできません。誰かが私にそれがどのように機能するのか説明できますか? 参照を追加してアクセスしようとしましたが、ログインとパスワードにエラーが表示されます。その段階で: enter image description here ありがとうございました。

答えて

0

標準のWebサービスではなく、ODataプロバイダを介してアクセスできるフィード(Atom)タイプのサービスです。 追加するには、References、Add Service Reference Link(または同様のもの)を右クリックし、http://grillassessmentservice.cloudapp.net/GrillMenuService.svc/に貼り付けます。 これを行う前にSystem.Data.Servicesの参照を追加することを忘れないでください。ここには完全なサンプルがあります。

すべてのサブサービスの資格情報を入力する必要がありますので、それが機能することを覚えておいてください。


using System; 
using System.Data.Services.Client; 
using System.Net; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Uri grillUri = 
       new Uri("http://grillassessmentservice.cloudapp.net/GrillMenuService.svc/", 
        UriKind.Absolute); 
      ServiceReference1.GrillMenuContext context = new ServiceReference1.GrillMenuContext(grillUri); 
      var serviceCreds = new NetworkCredential("[email protected]", "cleancode"); 
      var cache = new CredentialCache(); 
      cache.Add(grillUri, "Basic", serviceCreds); 
      context.Credentials = serviceCreds; 

      try 
      { 
       foreach (ServiceReference1.GrillMenuItem o in context.GrillMenuItems) 
        Console.WriteLine("Name: {0}", o.Name);      
      } 
      catch (DataServiceQueryException ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
     } 
    } 
} 
+0

私はそのエラーapeear、デリファレンスとログイン名とパスワードを追加します。 '「http://grillassessmentservice.cloudapp.net/GrillMenuService.svc/$メタデータ」をダウンロード中にエラーがありました。 要求がHTTPステータス404で失敗しました:見つかりません。 メタデータには解決できない参照が含まれています: 'http://grillassessmentservice.cloudapp.net/GrillMenuService.svc'。 クライアント認証スキーム 'Anonymous'でHTTP要求が不正です。サーバーから受信した認証ヘッダーは「基本」でした。 – Claudia