2012-02-08 4 views
0

.NETのWebRequestオブジェクトを使用してHTTP Webサービスにアクセスしようとしています。 HTTP Webサービスにはさまざまなメソッドが公開されており、WebRequestオブジェクトとResponseオブジェクトを作成するコードは複製したくありません。私はそれを行う方法がありますか?私は以下のサンプルコードを投稿しています。.Net WebRequestオブジェクトを使用したHttp WebService

WebRequest request = WebRequest.Create("url"); 
     NetworkCredential myCred = new NetworkCredential("username", "pwd"); 
     request.Credentials = myCred; 
     request.PreAuthenticate = true; 

     // Get the response. 
     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

     // Display the status. 
     Console.WriteLine(response.StatusDescription); 
     // Get the stream containing content returned by the server. 
     Stream dataStream = response.GetResponseStream(); 
     // Open the stream using a StreamReader for easy access. 
     StreamReader reader = new StreamReader(dataStream); 
     // Read the content. 
     string responseFromServer = reader.ReadToEnd(); 

     reader.Close(); 
     dataStream.Close(); 
     response.Close(); 

uriを渡してリクエストを作成する関数を作成するかどうかと、リクエストに基づいてレスポンスオブジェクトを返すことを考えています。これは正しいアプローチですか?私は毎回資格情報を渡したくない。出来ますか?

いくつかのリソースへの参照や参照は役に立ちます。ありがとう。

答えて

1

チェックアウトハンモック、

https://github.com/danielcrenna/hammock

、それは非常に使いやすいですし、あなたがNugetパッケージとしてインストールすることができます。

0

Visual Studioを使用している場合は、ビジュアルスタジオにWebサービスからすべてのクライアントクラスを作成させます。 「Webサーバー」ではなく、Webサービスに接続しています。 Webサービスの例では、「Webサービス」からその情報を読み取るツールを使用して作成する必要のあるクラスや型などの追加情報が必要です。 Webサイトに接続している場合は、httpwebrequestを使用してhttpをダウンロードしてください。

  1. Webサービス それはクラスを作成する必要があり、あなたはプロジェクトを作成

クラスを呼び出すサービスのアドレスにタイプ「サービス参照を追加する」と

  1. Webサーバを作成する]をクリック選択 httpwebrequestを使用してウェブサイトからhtmlコードをダウンロードします。
+0

悪いです。私はwsdlなどのメタデータを公開していません。私はURLでしか操作できません。私はそれがHttpwebRequestの権利によってのみ行うことができると思います。 – Mitul

+0

Httpwebrequestはまっすぐに人間のようなウェブサイトを呼びます。私は本当にユーザー名とパスワードについてはよく分かりません。それはウェブページのHTMLコードのトンを返すでしょう。 WSDL情報なしでWebサービスを使用することはできません。これはコンピュータのやり取りです。 Webサービスは、クライアントがツールを使用して再作成するWSDL内のコンピュータ言語コードを返します(手動でコードを作成することはできません)。また、クライアントはWebサービス提供クラスを使用します。それはまったく違う。 WebサービスにはWSDL、SOAP情報が必要です。 HTTPwebrequestは、http://www.google.comのようなウェブサイトには何もありません。 – iefpw

関連する問題