WSDL ファイル形式とは?
WSDL は Web サービス用の XML ベースの記述ファイルです。.wsdl ファイルは、ネットワーク サービスの呼び出し方法(その操作、入力および出力メッセージの形式、接続プロトコル(通常は SOAP)、およびエンドポイント URL)を定義します。WSDL ファイルで宣言された各サービスには、名前、メッセージ タイプの定義、バインディング方法、およびそれに到達するために使用される具体的なアドレスがあります。WSDL は XML マークアップを使用しており、任意のテキスト エディターで開くことができます。
W3C
WSDL は、もともと Microsoft、IBM、Ariba によって共同開発された標準化された形式です。この形式は現在、多くの主要な Web 標準を管理する組織である W3C によって保守されています。W3C 標準は勧告(Recommendations)として公開され、強制力はありませんが、WSDL 1.1(2001年)および WSDL 2.0(2007年)は、広範なエンタープライズ コンセンサスの一部として業界全体で広く受け入れられ、採用されました。現在稼働している SOAP デプロイメントでは、WSDL 1.1 が依然として支配的なバージョンです。
新しい API では、REST と OpenAPI 記述の組み合わせが SOAP/WSDL に取って代わっています。しかし、SOAP 上に構築されたレガシー システム、金融システム、政府システムでは、WSDL が依然として標準の契約言語です。SoapUI、Visual Studio、コマンドライン ユーティリティの wsimport などのツールを使用すると、.wsdl ファイルからクライアント スタブを直接生成できます。
セキュリティと安全性
リスク: LOWWSDL はプレーンテキストであり、コードを実行することはできないため、開いて読むことは安全です。実用的なリスクは間接的なものです。<import> や <xsd:import> はリモート スキーマをプルする可能性があり(これはファイルではなく XML パーサーに対する XXE/外部エンティティの懸念です)、また WSDL はサービスの内部操作名、メッセージ構造、エンドポイント URL を公開します。これは攻撃者にとって有用な偵察情報となるため、内部 WSDL の公開はマルウェアのリスクというよりも情報漏洩の検討事項となります。
形式の詳細
概要WSDL ファイルを開くプログラム
svcutil.exe が WSDL を読み込んで型指定された SOAP クライアントを生成します。XML の編集や表示も可能です。 wsdl2java -p com.example service.wsdl 技術的詳細
詳細仕様| エンコーディング | プレーンテキスト、UTF-8 (XML) |
| 暗号化 | なし(HTTPS 経由で提供されますが、ファイル自体は暗号化されません) |
| 一般的なファイルサイズ | 2 KB - 200 KB(大規模なエンタープライズ サービスでは 1 MB を超える場合があります) |
| MIME タイプ | application/wsdl+xml |
| WSDL 1.1 ルート要素 | <definitions> (名前空間: http://schemas.xmlsoap.org/wsdl/) |
| WSDL 2.0 ルート要素 | <description> (名前空間: http://www.w3.org/ns/wsdl) |
| スキーマの埋め込み | XSD 型定義がインラインで宣言されるか、schemaLocation 経由でインポートされます |
| デフォルトのバインディング プロトコル | SOAP 1.1 または SOAP 1.2 (HTTP POST)。HTTP GET/POST および MIME バインディングもサポート |
| 整合性 | トランスポート層の TLS。ファイルレベルのチェックサムや署名はなし |
| バージョンの判別 | ファイル ヘッダーやバージョン フラグではなく、XML 名前空間によって識別されます |
| オペレーティング システム | すべて(プラットフォームに依存しない XML テキスト) |
| リリース日 | 2001 (WSDL 1.1, W3C Note); WSDL 2.0 a W3C Recommendation in June 2007 |
| 最新バージョン | WSDL 2.0 (W3C Recommendation, 26 June 2007); WSDL 1.1 remains by far the most widely used |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.w3.org |
WSDL の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。WSDL ファイルについて最初の質問をしてみましょう。
よくある質問
WSDL ファイルは何に使用されますか?
WSDL ファイルを開くにはどうすればよいですか?
WSDL と XSD の違いは何ですか?
<types> セクション内で XSD を使用してメッセージの形式を定義します。WSDL はサービス契約であり、XSD はそれが依存するデータ スキーマです。WSDL からクライアントを生成するにはどうすればよいですか?
svcutil.exe を使用します。Java では wsimport または Apache CXF の wsdl2java を使用します。それぞれが WSDL を読み取り、ローカル オブジェクトのように呼び出せる型指定されたプロキシを生成します。WSDL と REST/OpenAPI 仕様の違いは何ですか?
ブラウザで WSDL を表示できますか?
?wsdl で終わる URL で WSDL を公開しています。構造化されたビューを表示するには、ブラウザの生のダンプではなく、XML エディターや SoapUI を使用してください。