Webサービスエンドポイントとは何ですか?


323

私のWebサービスがにhttp://localhost:8080/foo/mywebserviceあり、WSDLがにあるとしhttp://localhost:8080/foo/mywebservice?wsdlます。

http://localhost:8080/foo/mywebserviceエンドポイントはありますか、つまり、私のWebサービスのURIと同じですか、それともSOAPメッセージが受信され、非整列化された場所ですか?

それが何で、その目的は何ですか?

回答:


416

これは短く、うまくいけばより明確な答えです...はい、エンドポイントはクライアントアプリケーションがサービスにアクセスできるURLです。たとえば、異なるプロトコルを使用して利用可能にするために、同じWebサービスに複数のエンドポイントを設定できます。


8
@ user137717いいえ、ウェブサイトはウェブサービスではありません。Webサービスは主にアプリケーションで使用され、Webサイトは主に人間用です。
lbalazscs 2014年

4
@ user137717エンドポイントは、クライアントアプリケーションがWebサービスにアクセスできるURLです。:あなたは、Webサービスが何であるかを理解していない場合、例えば、この読みstackoverflow.com/questions/226108/...
lbalazscs

1
私からの+1と質問:「ベースURI」を単に「ベースエンド」と呼んではいけませんか(いわゆる「エンドポイント」)。「エンドポイント」と「ベースURI」の間に根本的な違いはありますか?ありがとう。
2015

1
@Withheld概念的にはエンドポイントとそのアドレスの間に違いがありますが、通常はサービスを見つけるために「エンドポイント」でクライアントを構成する必要があるため、実際には通常、アドレスが意味されます。
lbalazscs 2015

2
@lbalazscs- IP-Address:8080 / foo / ShoppingWebservice / ToysIP-Address:8080 / foo / ShoppingWebservice / Booksなど-/ Toys、/ Booksパーツとは何ですか?それらはエンドポイントまたはリソースとも呼ばれますか?
MasterJoe2 2017

47

回答の更新、Peterのコメント:

これは「古い用語」であり、WSDL2の「エンドポイント」定義を直接使用します(WSDL2は「ポート」を「エンドポイント」に変換します)。


たぶんあなたはこのドキュメントで答えを見つけるでしょう:http : //www.w3.org/TR/wsdl.html

WSDLドキュメントは、サービスをネットワークエンドポイントまたはポートのコレクションとして定義します。WSDLでは、エンドポイントとメッセージの抽象的な定義は、それらの具体的なネットワーク配置またはデータ形式のバインディングから分離されています。これにより、抽象的な定義の再利用が可能になります。交換されるデータの抽象的な説明であるメッセージと、操作の抽象的なコレクションであるポートタイプです。特定のポートタイプの具体的なプロトコルとデータ形式の仕様は、再利用可能なバインディングを構成します。ポートは、ネットワークアドレスを再利用可能なバインディングに関連付けることによって定義され、ポートのコレクションがサービスを定義します。したがって、WSDLドキュメントはネットワークサービスの定義で次の要素を使用します。

  • 型–いくつかの型システム(XSDなど)を使用したデータ型定義のコンテナー。
  • メッセージ-通信されるデータの抽象的な型付き定義。
  • オペレーション–サービスがサポートするアクションの抽象的な説明。
  • ポートタイプ-1つ以上のエンドポイントでサポートされる一連の抽象操作。
  • バインディング–特定のポートタイプの具体的なプロトコルとデータ形式の仕様。
  • ポート-バインディングとネットワークアドレスの組み合わせとして定義される単一のエンドポイント。
  • サービス–関連するエンドポイントのコレクション。

http://www.ehow.com/info_12212371_definition-service-endpoint.html

エンドポイントは、HTMLファイルまたはアクティブなサーバーページが公開される接続ポイントです。エンドポイントは、Webサービスエンドポイントのアドレス指定に必要な情報を提供します。エンドポイントは、メッセージアドレッシングプロパティのグループまたはファミリを定義するために使用される参照または仕様を提供し、エンドポイントの送信元と宛先の参照などのエンドツーエンドのメッセージ特性、および均一なメッセージを可能にするメッセージのIDを提供します「独立した」メッセージのアドレス指定。エンドポイントは、PC、PDA、またはPOS端末にすることができます。


72
「エンドポイントは、Webサービスエンドポイントのアドレス指定に必要な情報を提供します。」その文が大好きです!:D
musaul 2013年

2
これは「古い用語」であり、WSDL2の「エンドポイント」定義を直接使用します(WSDL2は「ポート」を「エンドポイント」に変換します)。
Peter Krauss、2014

34

Webサービスエンドポイントは、別のプログラムプログラムとの通信に使用するURLです。WSDLを表示する?wsdlには、WebサービスのエンドポイントURLに追加します。

Webサービスはプログラム間の対話用であり、Webページはプログラム間の対話用です。

だから:エンドポイントは: http://www.blah.com/myproject/webservice/webmethod

したがって、WSDLは次のとおりです。 http://www.blah.com/myproject/webservice/webmethod?wsdl


WSDLの要素をさらに拡張するには、それらをコードと比較すると便利です。

WSDLには2つの部分(物理的および抽象的)があります。

物理的な部分:

定義-変数-例:myVar、x、yなど

型-データ型-例:int、double、String、myObjectType

操作-メソッド/関数-例:myMethod()、myFunction()など

メッセージ-メソッド/関数の入力パラメーターと戻り値の型

  • 例:public myObjectType myMethod(String myVar)

Porttypes-クラス(つまり、操作のコンテナ)-例:MyClass {}など

抽象部分:

バインディング-これらはポートタイプに接続し、このWebサービスと通信するために選択されたプロトコルを定義します。-プロトコルはコミュニケーションの形式です(テキスト/ SMS、電話、メールなど)。

サービス-これは、別のプログラムがWebサービスを見つけることができるアドレス(つまり、エンドポイント)をリストします。


5
「なぜ地獄は、人々はちょうどURLとしてのエンドポイントを呼び出すことはありません」不可解な私を停止するために非常に便利な声明で「プログラムからヒトへの相互作用がためのWebページがある一方で、Webサービスは、プログラム間の相互作用のためのものである」私が見つかりました
ミニー

14

私が取り組んだ過去のプロジェクトでは、エンドポイントは相対的なプロパティでした。つまり、追加されている場合とされていない場合がありますが、常にが含まれていましたprotocol://host:port/partOfThePath

呼び出されるサービスに動的な部分(たとえば)があった?param=dynamicValue場合、その部分はエンドポイントに追加されます。しかし、多くの場合、エンドポイントは修正する必要なく、そのまま使用できます。

理解しておくべき重要なことは、エンドポイントではないものとそれがどのように役立つかです。たとえば、エンドポイントに格納されている情報を渡す別の方法は、エンドポイントのさまざまな部分を別々のプロパティに格納することです。例えば:

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

または、同じホストとポートが複数のサービスにわたっている場合:

host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

そのような場合、完全なURLをコード内で次のように構築する必要があります。

String url = "http://" + host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

契約上、これはエンドポイントとして保存できます

serviceAEndpoint=http://host:port/some/service/path?dynamicParam=

そして、「=」までのエンドポイントを何度も保存しました。これは次のようなコードにつながります:

String url = serviceAEndpoint + dynamicValue;

それがいくつかの光を放つことを願っています。


7

簡単に言えば、エンドポイントは通信チャネルの一端です。APIが別のシステムとやり取りする場合、この通信のタッチポイントはエンドポイントと見なされます。APIの場合、エンドポイントにはサーバーまたはサービスのURLを含めることができます。各エンドポイントは、APIが機能を実行するために必要なリソースにアクセスできる場所です。

APIは「リクエスト」と「レスポンス」を使用して機能します。APIがWebアプリケーションまたはWebサーバーから情報を要求すると、応答を受け取ります。APIがリクエストを送信し、リソースが存在する場所は、エンドポイントと呼ばれます。

リファレンス:https : //smartbear.com/learn/performance-monitoring/api-endpoints/


6

エンドポイントは、通常は応答を返す相対または絶対URLとして指定されます。その応答は通常、たとえばJSON文字列を生成する可能性のあるサーバー側プロセスの結果です。その後、その文字列は、エンドポイントを呼び出したアプリケーションで使用できます。したがって、一般にエンドポイントは事前定義されたアクセスポイントであり、TCP / IPネットワーク内でプロセスを開始したり応答を返したりするために使用されます。エンドポイントには、URL内で渡されるパラメーターを含めることができます。キーと値のペアとして、複数のキーと値のペアがアンパサンドで区切られているため、エンドポイントは、たとえば、更新/挿入プロセスを呼び出すことができます。そのため、エンドポイントは必ずしも応答を返す必要はありませんが、たとえ操作の成功または失敗を示すだけであっても、応答は常に役立ちます。


0

エンドポイントはWebサービスのURLです。エンドポイントも分散APIです。

Simple Object Access Protocol(SOAP)エンドポイントはURLです。これは、Webサービスリスナーが着信リクエストをリッスンする組み込みHTTPサービス上の場所を識別します

リファレンス:https : //www.ibm.com/support/knowledgecenter/SSSHYH_7.1.0.4/com.ibm.netcoolimpact.doc/dsa/imdsa_web_netcool_impact_soap_endpoint_c.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.