2011-01-10 23 views
5

私はVS 2008で2日前に私の最初のWebサービスを作成し、私は、Webサービスに関する以下の質問に出くわしたときにそれを消費することを考えた:のHTTP SOAP GET POST

1)私のWebサービスのテスト呼び出しページ(.NETフレームワークの一部として提供される缶詰めのページ)には、サンプルのHTTP GET要求\応答メッセージは表示されません。表示されるメッセージは、HTTP POST、SOAP 1.1、およびSOAP 1.2のみです。 Webサービスは、HTTP GETプロトコルを使用して呼び出す方法を奨励しない方法であると仮定しますか?

2)ブラウザからHTTP-POSTを呼び出すには、サンプルのhtmlページを作成しました。サンプルHTTP-SOAPコールを同様に行うことはできますか?はいの場合、応答はSOAP形式ですか?誰か私にそのようなhtmlページを送ることができますか?

3)ブラウザからWebサービスを呼び出しているときに、ホストヘッダー情報を送信するにはどうすればよいですか?

4)POSTメソッド(method = 'post')を使用してWebサービスを呼び出すと、なぜ「HTTP-SOAP呼び出し」と呼ばれますか?

5)HTTP-GETとHTTP-POSTよりもHTTP-SOAPを優先する理由は何ですか?

おかげに関して ミラノ

答えて

0

まず第一に、あなたはミスを犯したかもしれません。 .ASMX拡張を使用してサービスを作成しましたか?

これは従来の「ASMX」Webサービスです。選択肢がない限り、新しい開発に使用しないでください。 WCFは、すべての新しい開発に使用する必要があります。

第2に、パラメータをクエリ文字列に入れるため、GETを使用して複合型をサービスに送信することはできません。 POSTは、実際にはほとんど使われていませんが、テストページを除いて(複雑なタイプも送信できません)。

このようなサービスにとって本当に重要なのは、SOAPだけです。あなたはそれをテストするために、何らかの種類のクライアントアプリケーション、おそらく単体テストのセットを作成するべきです。

7

標準のSOAPサービスは、クエリ文字列に含めることができない複雑なSOAP要求(XML)を必要とするため、HTTP POSTのみを使用しています。

SOAPサービスをWebページから呼び出す場合、ページで有効なSOAP要求を作成する必要があります。そのため、SOAP呼び出しは通常、サーバー側の自動生成サービスクライアントから作成されます。

POSTメソッドを使用してHTTPプロトコルによって転送されるSOAP要求であるため、HTTP-SOAPと呼ぶことができます。

これは優先されません。これは、SOAPサービスが通常どのように機能するかです。 HTTP GETとHTTP POSTを使用する場合は、RESTサービスをチェックする必要があります。

+0

返信いただきありがとうございます。しかし、IE6では、テスト呼び出しページでHTTP POSTとHTTP SOAPリクエスト\応答メッセージとともにサンプルHTTP GETリクエスト\応答メッセージを取得しました。なぜ今は見えないのですか? –

+0

優先順位によって私はSOAP over GETとPOSTの利点が何であるか尋ねたがっています。\ –

+1

@milan GETとPOSTはHTTP転送プロトコルのメソッドです。 SOAPは、HTTP経由で使用できる通信プロトコルです。 –