XSDとWSDLの違いは何ですか


177

違いは何であるXML SchemaとはWSDL

私が気付いた違いは、をWSDL含みXSDWSDL演算を宣言できるが、では宣言できないことですXSD。あれは正しいですか?

回答:


176

XSDは、XMLドキュメントの構造化方法の定義であるスキーマを定義します。これを使用して、特定のXMLドキュメントが有効であり、スキーマでレイアウトしたルールに従っていることを確認できます。

WSDLは、Webサービスを記述するXMLドキュメントです。使用可能な操作と、それらの操作に送信するためにデータをどのように構成する必要があるかを示します。

WSDL文書には、WSDL文書に何が有効であるかを示すXSDが関連付けられています。


15
パオロの答えは正しいです。強化するだけです。WSDLは実際にはXMLであり、その構造を検証するためのXSDがある場合とない場合があります。関連するXSDは別個のファイルである可能性があり、WSDLにインポートされるか、完全なXSDが<WSDL:types>タグを使用してWSDLファイル自体にインラインで埋め込まれます。詳細については、ibm.com
supernova

それらが2つに分かれている場合、なぜNetbeansなどでWebサービスを作成する?xsd=1と、URLに自動的にが表示されるのですか?
CodyBugstein、2016

211

WSDL(Webサービス記述言語)は、サービスとそのオペレーションを記述します-サービスとは何ですか、どのメソッドが提供するか、これらのメソッドにはどのような種類のパラメーターと戻り値がありますか?

これはサービスの動作の説明であり、機能です。

XSD(Xmlスキーマ定義)は、これらのサービスメソッドによって交換される複雑なデータ型の静的構造を記述します。タイプ、フィールド、それらのフィールドに対する制限(最大長や正規表現パターンなど)などについて説明します。

これは、データ型の説明であり、サービスの静的プロパティであり、データに関するものです。


25
これは、WSDLのコンテキストでのXSDの説明であり、2つの違いだけではありません。追加するために、XSD定義は<wsdl:types>タグのWSDLの一部です。
エアボス2013

複雑なデータ定義が必要ない場合は、XSDなしでWSDLを作成できますか?
esseara

61

XSD:XMLスキーマ定義。

XML:eXtensible Markup Language。

WSDL:Webサービス定義言語。

専門用語でお答えするつもりはありません。この説明は初心者向けです。

2つの異なるテクノロジーを使用して開発された2つの異なるアプリケーション間の通信は容易ではありません。たとえば、シカゴにある会社がJavaを使用してWebアプリケーションを開発し、ニューヨークにある別の会社がC#でアプリケーションを開発する場合、これら2つの会社が情報を共有することを決定すると、XMLが登場します。異なるテクノロジーを使用して開発された2つの異なるアプリケーション間でデータを保存および転送するのに役立ちます。注:プログラミング言語に限定されません。2つの異なるアプリ間の情報伝達について調査してください。

XSDはスキーマ定義です。つまり、ユーザーにXMLをこのようなスキーマで開発するように指示しています。以下の画像を参照し、「load-on-startup」要素とその整数型を注意深く見てください。XSDイメージでは、「load-on-startup」の整数値であることを示しているため、ユーザーがXMLを作成したときに、その特定の要素にint値を渡しました。XSDはスキーマとスタイルであり、XMLは別のアプリケーションまたはシステムと通信するためのフォームです。XSDを確認してXMLを作成する必要があります。そうしないと、別のテクノロジーで開発された別のアプリケーションやシステムと通信できません。シカゴの企業は、テキサスの企業が特定のXSD形式でXMLを作成または生成するためのXSDテンプレートを提供しています。テキサスの会社がXSDで言及されているルールやスキーマを順守できなかった場合、シカ​​ゴの会社から正しい情報を期待することは不可能です。上記の話の後、アマチュアや初心者が私が上記のようなことをコーディングするときに知っておくべきことがたくさんあります。後で何が起こるかを本当に知りたい場合は、実際にWebサービスを開発した上級ソフトウェアエンジニアと一緒に座った方がよいでしょう。次はWSDLです。画像に従って、WSDLがどこに収まるかを理解してください。後で何が起こるかを本当に知りたい場合は、実際にWebサービスを開発した上級ソフトウェアエンジニアと一緒に座った方がよいでしょう。次はWSDLです。画像に従って、WSDLがどこに収まるかを理解してください。後で何が起こるかを本当に知りたい場合は、実際にWebサービスを開発した上級ソフトウェアエンジニアと一緒に座った方がよいでしょう。次はWSDLです。画像に従って、WSDLがどこに収まるかを理解してください。

*************** ========以下は部分的なXML画像です========== ************ *** XML画像部分

*************** ========以下は部分的なXSD画像です========== ************ ***

XSD画像部分

*************** ========以下は部分的なWSDLイメージです======= *************

WSDL画像部分

BookというWebサービスのサンプルWSDLを作成する必要がありました。これはXSDですが、Webサービスに非常に固有であるため、WSDL(Webサービス定義言語)と呼ぶ必要があります。上記のWSDL(またはXSD)はBook.javaというクラス用に作成され、SOAPサービスを作成しています。SOAP Webサービスがそれを作成した方法は別のトピックです。1つはJavaクラスを記述し、それを実行する前にWebサービスとして作成する必要があります。ユーザーはAxis2 APIがインストールされており、WebサービスをホストするTomcatが配置されていることを確認する必要があります。

サービサー(他の(クライアント)がシステムの情報またはデータにアクセスすることを許可する)が実際にクライアント(サービサー情報またはデータを使用する必要があるもの)にWebサービスを介してデータへの完全なアクセス権を与える地球は部外者のためにデータベースを公開する用意があります。私の会社と同様に、Webサービスを介して製品に関する情報を提供することにしました。そのため、XSDテンプレートを作成し、私たちと一緒に仕事をしたいいくつかのクライアントに引き渡す必要がありました。特定のXSDを完全に利用するためのコードを記述し、サービサーからデータをフェッチし、返されたデータを適切な要件に変換するWebサービスコールを実行し、Webサイトで製品に関するデータまたは情報を表示または公開する必要があります。簡単な例は、FLIGHTチケット予約です。航空会社は、第三者が自分のサイトのフライトデータをチケット販売に使用できるようにします。しかし、それでもはるかに多くのことがあり、サードパーティの航空券エージェントがチケットを販売することを許可していないだけで、同期とセキュリティが整っています。同期がない場合は、100%の確率で、複数の顧客が複数のソースから同じ航空券を購入する可能性があります。

私は専門家が私の答えに貢献することを望んでいます。初心者や初心者がXML、XSDを理解し、Webサービスに取り組むのは本当に難しいことです。


少なくとも、これらのテクノロジーがどのように機能するかについてのヒントを私に与えました
MbaiMburu

10

XSDはドキュメントを検証し、XMLに関するメタデータを含みますが、WSDLはWebサービスの場所と操作を記述します。


3

XSD(XMLスキーマ定義)は、XMLドキュメントの要素を定義します。xmlドキュメントの要素が、コンテンツが配置される説明に準拠しているかどうかを確認するために使用できます。wsdlは、Webサービスを記述する特定のタイプのXMLドキュメントです。WSDL自体はXSDに準拠しています。


1

WSDL-Webサービスが提供するメソッドなどの操作が含まれます。これらのメソッドは、int、floatなどの単純なデータ型とオブジェクト、ベクトル、配列などの複雑なデータ型を受け入れることができるため、これをxmlデータ型xsdにマッピングします。中古。そして、xsdに基づいて、異なるプラットフォームからWebサービスにアクセスしたいユーザーは、適切にデータを提供できます。

Webサービスの基本については、ayazroomy-java.blogspot.comを参照してください。


0

XSDはWSDLファイルのスキーマです。XSDには、WSDLのデータ型が含まれています。XSDで宣言された要素は、WSDLファイルでの使用が有効です。WSDLをXSDでチェックして、WebサービスのWSDLが有効かどうかをチェックできます。


0

誰かがアナロジーを探しているなら、この答えが役に立つかもしれません。

WSDLは、mysqlの「SHOW TABLE STATUS」コマンドに似ています。XMLの一部である必要があるすべての要素(リクエストタイプ、レスポンスタイプ、リクエストをヒットするURLの形式など)を定義します。定義では、私は以下を意味します:1)要求または応答の名前2)入力として扱われるべきもの、出力として扱われるべきもの。

XSDはmysqlのDESCRIBEコマンドに似ています。これは、すべての変数とそのタイプ、要求と応答に含まれるものを示します。


mysqlのDESCはソート順に使用されませんか?しかしDESCRIBEはもっとそれに似ています。
Mangsは
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.