web-dev-qa-db-ja.com

XSDとWSDLの違いは何ですか

XML SchemaWSDLの違いは何ですか?

私が気づいた違いは、WSDLにはXSDが含まれており、WSDLでは操作を宣言できますが、XSDではできないことです。あれは正しいですか?

156
make

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

WSDLは、Webサービスを記述するXMLドキュメントです。使用可能な操作と、それらの操作に送信するデータの構造を示します。

WSDLドキュメントには、WSDLドキュメントに入れることが有効なものを示すXSDが関連付けられています。

160
Paolo

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

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

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

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

195
marc_s

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が収まる場所を見つけてください。

*************** ========以下はXMLイメージの一部です========== ************ *** XML image partial

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

XSD image partial

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

WSDL image partial

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

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

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

54
MKod

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

10
Priyank Bolia

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

3
vivyzer

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

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

1
ayaz

誰かが類推を探しているなら、この答えは役に立つかもしれません。

WSDLは、mysqlの「SHOW TABLE STATUS」コマンドに似ています。 XMLの一部であるすべての要素(要求タイプ、応答タイプ、要求をヒットするURLのフォーマットなど)を定義します。定義では、1)要求または応答の名前2)入力として扱われるべきもの、出力として扱われるべきもの。

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

0

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

0
Snehal More