1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

XSD を WSDL にインポートする方法

Web サービス記述言語 (WSDL) は、XML を使用して Web サービスを記述するためのモデルおよび形式です。コンシューマーは、サービスを見つけてその操作を実行できます。このプロセスは、ほとんどの一般的な開発ツールを使用して自動化できるため、開発者が作成したコードをほとんど使用せずにアプリケーションを統合できます。 WSDL は、サービス プロバイダーとコンシューマーの間の契約です。サービスを自己記述的にします。 WSDL は、すべてのパブリック オペレーションの説明、すべてのサービス メッセージのデータ型、トランスポート プロトコルのバインディングの詳細、およびサービス アドレス情報を提供します。 WSDL で "import" 要素を使用して、外部の WSDL または XML スキーマをインポートできます。外部項目のインポートは、WSDL をよりモジュール化し、複数のサービス定義間で XML データ型を再利用し、スキーマの複数のバージョンをサポートできるようにするのに役立ちます。

ステップ 1

テキスト エディターまたは XML エディターで新しいファイルを作成します。エディタが WSDL をサポートしている場合は、ファイル タイプとして WSDL を選択します。 WSDL をサポートしていないが XML をサポートしている場合は、ファイル タイプとして XML を選択します。 WSDL も XML もサポートされていない場合は、プレーン テキスト ファイル タイプを選択してください。

ステップ 2

ファイルに任意の名前を付け、ファイルに「.wsdl」拡張子を付けます。たとえば、ファイルに「HelloWorld.wsdl」という名前を付けることができます。

ステップ 3

テキスト エディターまたは XML エディターで 2 つ目の新しいファイルを作成します。エディタが XML スキーマをサポートしている場合は、ファイル タイプとして XML スキーマまたは XSD を選択します。 XML スキーマをサポートしていないが、XML ファイルをサポートしている場合は、ファイル タイプとして XML を選択します。 XML スキーマも XML もサポートされていない場合は、プレーン テキスト ファイル タイプを選択してください。

ステップ 4

ファイルに任意の名前を付け、ファイルに「.xsd」拡張子を付けます。たとえば、ファイルに「HelloWorld.xsd」という名前を付けることができます。

ステップ 5

作成した XML スキーマ ファイルに次のマークアップを入力します:

http://www.w3.org/2001/ XMLSchema"> http://www.w3.org/2001/XMLSchema"/> xsd:シーケンス

これは、名前空間「http://schemas.myorg.com/person/phone」を持つスキーマを定義し、単一のデータ型「Phone」を定義します。

ステップ 6

作成した WSDL ファイルに次のマークアップを入力します:

http:/ /schemas.myorg.com/wsdl/helloworld">

wsdl:documentation インポート例を含む WSDL

wsdl:types http://www.myorg.com/supporting /schemas/helloworld.xsd"/>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://schemas.myorg.com/wsdl/helloworld">
 <xsd:element name="CallNumber" type="external:Phone"/> 
 <xsd:element name="HelloResponse" type="xsd:string"/> 
</xsd:schema>

http://www.w3.org/ns/wsdl/style/iri">

http://www.w3.org/2003/05/soap/bindings/HTTP/"> http://www.w3.org/2003/05/soap/mep/soap-response"/>

http://www.myorg.com/Service/Hello"/>

このマークアップは、名前空間「http://schemas.myorg.com/person/phone」を含む「helloworld.xsd」という名前の外部 XML スキーマをインポートする WSDL を定義します。

WSDL の import ステートメントは、ファイルから XML 名前空間をインポートします。 import 要素の主な目的は、名前空間をインポートすることであり、名前空間内の宣言がどこにあるかを示すことではありません。この要素には、オプションの「schemaLocation」属性が含まれます。名前空間は同じファイルからインポートしたり、別の方法で登録したりできるため、この属性はオプションです。 WSDL 仕様によると、「schemaLoction」はヒントにすぎません。 XML パーサーはその場所を自由に無視できます。パーサーがその名前空間のスキーマ型を既に認識している場合、またはそれらを見つける別のメカニズムがある場合、その場所を使用する必要はありません。ただし、多くの場合、XML パーサーが何も知らない名前空間がインポートされるため、「schemaLocation」属性が必要になりますが、技術的にはまだヒントにすぎません。

ヒント

サービスがサポートする機能に関する情報を共有するために、メタデータ交換や MEX などの新しいテクノロジーが導入されましたが、これらの標準はまだ広く採用されていません。

警告

WSDL はインクルードとインポートをサポートします。似ているように聞こえるかもしれませんが、動作が異なります。 import ステートメントは、別の名前空間をインポートします。 include ステートメントは、XML データ型宣言を既存の名前空間にインポートします。