URL を使用した WSDL ファイルの公開

URL を 使用して Web サービス記述言語 (WSDL) ファイルを公開することができます。

始める前に

URL を使用して WSDL ファイルを公開する前に、Web サービス対応アプリケーションをインストールして実行していることを確認してください。

webservices.xml<wsdl-file> エレメントで参照されるファイルは、他の WSDL ファイルまたは XML Schema Definition (XSD) ファイルをインポートする場合があります。 通常、すべての WSDL ファイルまたは XSD ファイルは、最初は、Enterprise JavaBeans (EJB) を使用している場合には META-INF/wsdl ディレクトリーに配置され、Java™ を使用している場合には WEB-INF/wsdl ディレクトリーに配置されます。 WSDL ファイルまたは XSD ファイルがこれらのディレクトリーに配置されていない場合、 <wsdl-file> によって参照されるファイルとそのインポート・ファイルは、 公開を目的として wsdl ディレクトリーにコピーされます。

URL 照会ストリングには 2 つの形式があります。最初の形式は、 サービスに /wsdl を付加して、HTTP および JMS バインディングのみを戻します。 2 番目の形式は、サービスに /extwsdl を付加して、 拡張 WSDL ファイル (HTTP、JMS、および EJB バインディングなど) を戻します。WSDL ファイルに EJB バインディングのみが含まれ、 /wsdl 照会が使用される場合は、ブラウザーに、 WSDL ファイルに HTTP バインディングも JMS バインディングも存在しないという意味のエラー・メッセージが表示されます。 このエラー・メッセージでは、代わりに /extwsdl 照会の使用が提案されます。 URL を使用して WSDL ファイルを公開する場合は、 アプリケーションに Web モジュールが必要です。この Web モジュールは、 アプリケーションが提供するか、HTTP ルーター・モジュールの形を取るかのいずれかです。 EJB アプリケーションに、JMS バインディングか EJB Web サービス・バインディングのみを持つ WSDL ファイルが含まれている場合は、 endptEnabler コマンドを使用して、HTTP ルーター・モジュールをアプリケーションに追加することができます。

注: 公開できるのは、HTTP URL のみです。

このタスクについて

URL を使用して WSDL ファイルを公開するには、以下のようにします。

手順

  1. 最外部 WSDL ファイルを検索します。 最外部 WSDL ファイルは、 webservices.xml ファイルの <wsdl-file> エレメントで定義されている WSDL ファイルです。

    各 Web サービスには、 http://example.com/services/stockquote のようなエンドポイント・アドレスがあります。 (webservices.xml ファイル内の <wsdl-file> エレメントで定義された) 最外部 WSDL ファイルは、 http://example.com/services/stockquote/wsdl のように、 エンドポイント・アドレスにストリング /wsdl または /wsdl/ を追加することで検索できます。

  2. インポートされた WSDL ファイルを検索します。 最外部 WSDL ファイルが他の WSDL ファイルまたは XSD ファイルをインポートする場合、これらのインポート・ファイルは、最外部 WSDL ファイルの検索に使用される相対パスを URL に追加することによって検索できます。このことは、他のファイルをインポートする WSDL ファイルにも当てはまります。このプロセスは、 HTML ドキュメント内の相対ハイパーリンクの使用と類似しています。 HTML ドキュメントに他のドキュメントへのハイパーリンクが含まれている場合は、ハイパーリンク・ドキュメントにアクセスする URL を作成するために相対パスが追加されます。

次のディレクトリー構造をもつアプリケーションがあるとします。
<module-root>/
	WEB-INF/
				webservices.xml    /* the <wsdl-file> element points to "WEB-INF/wsdl/fooImpl.wsdl"*/
		web.xml
		ibm-webservices-bnd.xml

		wsdl/
						fooImpl.wsdl   /* imports foo.wsdl which is an interface wsdl */
			foo.wsdl /* type definition for the interface */

foo サービスの SOAP アドレスが http://examples.com:9080/services/foo の場合、foo サービスの最外部 WSDL を検索する単純な方法は、http://examples.com:9090/services/foo/wsdl または http://examples.com:9090/services/foo/wsdl/ という形式を使用することです。URL は http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl にリダイレクトされます。この fooImpl.wsdl は、最外部 WSDL ファイルの名前です。

fooImpl.wsdl ファイルにはインポート <import namespace="http://examples.com/foo" location="a/b/foo.wsdl> があるため、URL http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl を使用して foo.wsdl ファイルを取得します。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_urlwsdl
ファイル名:twbs_urlwsdl.html