|
|
|
|
|
| | | |
Web サービス アーカイブ ファイルの手動によるアセンブル
この付録では、Web サービスを手動でエンタープライズ アプリケーション *.ear アーカイブ ファイルにアセンブルする方法について説明します。
WebLogic Web サービスは、標準 J2EE エンタープライズ アプリケーション アーカイブ ファイル(*.ear)としてパッケージ化されます。WebLogic Web サービス アーカイブ ファイルを手動でアセンブルする手順は、複雑な場合があります。このため、BEA では wsgen Java Ant タスクを使用して最初の *.ear ファイルを作成することをお勧めします。その後で、必要に応じてアプリケーションに合うようにアーカイブ ファイル内のコンポーネントをカスタマイズすることができます。wsgen の使用方法の詳細については、
WebLogic Web サービスのアセンブルを参照してください。
次の場合には、エンタープライズ アプリケーション アーカイブ ファイルを手動で作成または編集する必要があります。
wsgen Ant タスクからは利用できないアーカイブのコンポーネントに対して、詳細なコンフィグレーション タスクを実行する必要がある場合。これらのタスクには、SOAP サーブレットのセキュリティ対策や EJB のセキュリティ対策などが含まれます。
wsgen Ant タスクが使用するデフォルトの命名規約およびディレクトリを変更する場合。
次の手順は、wsgen Java Ant タスクが作成するものと類似したエンタープライズ アプリケーション アーカイブを作成する方法を示しています。命名規約に厳密に従っている場合、このマニュアルの他の章に示されている Web サービスの WSDL(client.jar ファイル)へのアクセス方法を説明する指示は正常に機能します。
エンタープライズ アプリケーション アーカイブは、次のコンポーネントで構成されています。
*.war ファイルにパッケージ化される Web アプリケーション。
web.xml および weblogic.xml デプロイメント記述子ファイル。
*.jar ファイル(RPC スタイル Web サービス用)。
*.jar ファイル。
RPC スタイル Web サービス アーカイブ ファイルの手動によるアセンブル
この節では、RPC スタイル Web サービスを、WebLogic Server にデプロイ可能なエンタープライズ アプリケーション *.ear ファイルに手動でアセンブルする方法について説明します。
注意: ここでは、RPC スタイル Web サービスを実装し *.jar EJB アーカイブ ファイルにアセンブルするステートレス セッション EJB を、すでに作成していると想定します。ステートレス セッション EJB のプログラミングおよびアセンブルの詳細については、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。
RPC スタイル Web サービス アーカイブ ファイルを手動でアセンブルするには、次の手順に従います。
Windows NT の場合は、setEnv.cmd コマンドを実行します。このコマンドは BEA_HOME\config\domain ディレクトリにあります。BEA_HOME は WebLogic Server がインストールされているディレクトリで、domain はドメインの名前です。
UNIX の場合は、setEnv.sh コマンドを実行します。このコマンドは BEA_HOME/config/domain ディレクトリにあります。BEA_HOME は WebLogic Server がインストールされているディレクトリで、domain はドメインの名前です。
WEB-INF サブディレクトリに初期の web.xml と weblogic.xml デプロイメント記述子が自動的に作成されます。
java weblogic.ant.taskdefs.war.DDInit
staging-dir
staging-dir は、ステージング ディレクトリです。
デプロイメント記述子を生成する Java ベースの DDInit ユーティリティの詳細については、『WebLogic Server アプリケーションの開発』を参照してください。
WEB-INF\web.xml ファイルを編集します。詳細については、この付録の
RPC スタイル Web サービスの web.xml ファイルの更新を参照してください。
WEB-INF\weblogic.xml ファイルを編集します。詳細については、この付録の
RPC スタイル Web サービスの weblogic.xml ファイルの更新を参照してください。
EJB の JNDI 名は、EJB 用のデプロイメント記述子ファイル weblogic-ejb-jar.xml 内の jndi-name 要素に対応しています。
注意: JNDI 名を使用することは、wsgen Ant タスク命名規約ですが、これに従う必要はありません。
jndi-name サブディレクトリ内で、次のユーティリティを実行して出力をファイルにリダイレクトし、WSDL JSP を作成します。
java weblogic.soap.wsdl.Remote2WSDL
EJB_interface path-protocol protocol > wsdl.jsp
各要素の説明は次のとおりです。
EJB_interface は、ステートレス セッション EJB のリモート インタフェースの完全修飾クラス名を指します。
path は context または context/jndi-name のいずれかです。ここで、context は、application.xml ファイル(後の手順で作成する)内の Web アプリケーションの context-root 要素を指します。
protocol は、http または httpsのいずれかです。
注意: 生成された WSDL JSP は、Web サービスが実行中の WebLogic Server のホストおよびポートを動的に設定します。これは一般的に、Web サービスで使用する WSDL ファイルのタイプです。ただし、WSDL ファイル内にホストおよびポートを静的に指定する場合は、テキスト <%= request.getServerName() %>:<%= request.getServerPort() %> をハードコード化されたホストおよびポート値と置き換えて、WSDL JSP 内の soap:address 要素を編集します。
jndi-name サブディレクトリ内に、前の手順で作成した WSDL JSP へのリンクを含む index.html ファイルおよび後続の手順で作成するクライアント JAR ファイルを作成します。次の例は簡単な index.html ファイルを示します。
<html>
<body>
<h3>jndi-name</h3>
<ul>
<li><a href='wsdl.jsp'>WSDL</a></li>
<li><a href='../client.jar'>client.jar</li>
</ul>
</body>
</html>
client.jar ファイルを作成します。このファイルの作成の詳細については、この付録の
client.jar ファイルの手動による作成を参照してください。
注意: この手順は省略可能です。Java クライアント アプリケーションを使用して Web サービスを呼び出す場合には、client.jar ファイルを作成するだけです。
index.html ファイルを作成し、および前の手順で作成した index.html ファイルへのリンクを設定します。次の例は簡単な index.html ファイルを示します。
<html>
<body>
<h3>RPC-Style Web Services</h3>
<ul>
<li><a href='/context/jndi-name/index.html'>jndi-name</a></li>
</ul>
</body>
</html>
この例で、context は application.xml ファイル(後の手順で作成する)内の Web アプリケーションの context-root 要素を指し、jndi-name は前の手順で作成した WSDL ファイルを含むサブディレクトリの名前を指します。
*.war ファイル)を作成します。
jar cvf
web-app-name.war -Cstaging-dir.
注意: wsgen Java ant タスクでは、デフォルト名 web-services.war を Web アプリケーション *.war ファイルに割り当てます。この命名規約に従う必要はありません。
*.jar ファイルを 2 番目のステージング ディレクトリにコピーします。
*.war ファイルを、2 番目のステージング ディレクトリにコピーします。
WEB-INF サブディレクトリに初期の application.xml デプロイメント記述子が自動的に作成されます。
java weblogic.ant.taskdefs.ear.DDInit
staging-dir
staging-dir は 2 番目のステージング ディレクトリを指します。
デプロイメント記述子を生成する Java ベースの DDInit ユーティリティの詳細については、『WebLogic Server アプリケーションの開発』を参照してください。
META-INF\application.xml ファイルを編集します。詳細については、この付録の
RPC スタイル Web サービスの application.xml ファイルの更新を参照してください。
jar コマンドを使用して、アプリケーションのエンタープライズ アーカイブ(.ear ファイル)を作成します。
jar cvf
application.ear -Cstaging-dir.
作成された .ear ファイルは、Administration Console または weblogic.deploy コマンド ライン ユーティリティを使用して WebLogic Web サービスとしてデプロイできます。
RPC スタイル Web サービスの web.xml ファイルの更新
この節では、RPC スタイル WebLogic Web サービス アーカイブ ファイル内の SOAP サーブレットを参照する Web アプリケーション用の web.xml デプロイメント記述子に対して、更新または追加する必要がある要素について説明します。web.xml デプロイメント記述子の完全な例については、この節の最後の例を参照してください。
ここでは Web アプリケーションとデプロイメント記述子に関して基本的な知識があることを前提としています。詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。
RPC スタイル Web サービス用の web.xml ファイルを更新するには、次の要素を追加します。
<servlet> 要素。<servlet-class> 要素を weblogic.soap.server.servlet.StatelessBeanAdapter に設定します。サーブレットは、RPC スタイル Web サービスを構成するステートレス セッションへの参照である 1 つの <init-param> を取得します。次の例は SOAP サーブレット用の <servlet> エントリを示します。
<servlet>
<servlet-name>statelessSession.WeatherHome</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.StatelessBeanAdapter
</servlet-class>
<init-param>
<param-name>ejb-ref</param-name>
<param-value>statelessSession.WeatherHome</param-value>
</init-param>
</servlet>
<servlet> 要素。次の例で示すように <servlet-class> 要素を weblogic.soap.server.servlet.FaultHandler に設定します。
<servlet>
<servlet-name>
statelessSession.WeatherHomeFault
</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.FaultHandler
</servlet-class>
</servlet>
<servlet> 要素。
<servlet>
<servlet-name>
statelessSession.WeatherHomeWSDL
</servlet-name>
<jsp-file>
/statelessSession.WeatherHome/wsdl.jsp
</jsp-file>
</servlet>
JSP ファイル <jsp-file> へのパスは、この付録の
RPC スタイル Web サービス アーカイブ ファイルの手動によるアセンブル で作成した WSDL JSP への Web アプリケーション アーカイブ ファイル内のパスです。
<servlet> 要素に対して、次の例に示すようにサーブレットへの URL をマップする <servlet-mapping> 要素を作成します。
<servlet-mapping>
<servlet-name>statelessSession.WeatherHome</servlet-name>
<url-pattern>/weatheruri</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
statelessSession.WeatherHomeFault
</servlet-name>
<url-pattern>/weblogic/webservice/fault</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
statelessSession.WeatherHomeWSDL
</servlet-name>
<url-pattern>
/statelessSession.WeatherHome/statelessSession.WeatherHome.wsdl
</url-pattern>
</servlet-mapping>
<error-page> 要素
<error-page>
<exception-type>
weblogic.soap.FaultException
</exception-type>
<location>/weblogic/webservice/fault</location>
</error-page>
<ejb-ref> 要素。
<ejb-ref>
<description>Web Service EJB</description>
<ejb-ref-name>statelessSession.WeatherHome</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>examples.webservices.rpc.weatherEJB.WeatherHome</home>
<remote>examples.webservices.rpc.weatherEJB.Weather</remote>
</ejb-ref>
次の完全なサンプルの web.xml デプロイメント記述子には、RPC スタイル Web サービスの例として examples.webservices.rpc 用の要素があります。
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<servlet>
<servlet-name>statelessSession.WeatherHome</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.StatelessBeanAdapter
</servlet-class>
<init-param>
<param-name>ejb-ref</param-name>
<param-value>statelessSession.WeatherHome</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>statelessSession.WeatherHomeFault</servlet-name>
<servlet-class>weblogic.soap.server.servlet.FaultHandler</servlet-class>
</servlet>
<servlet>
<servlet-name>statelessSession.WeatherHomeWSDL</servlet-name>
<jsp-file>
/statelessSession.WeatherHome/wsdl.jsp
</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>statelessSession.WeatherHome</servlet-name>
<url-pattern>/weatheruri</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>statelessSession.WeatherHomeFault</servlet-name>
<url-pattern>/weblogic/webservice/fault</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>statelessSession.WeatherHomeWSDL</servlet-name>
<url-pattern>
/statelessSession.WeatherHome/statelessSession.WeatherHome.wsdl
</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>weblogic.soap.FaultException</exception-type>
<location>/weblogic/webservice/fault</location>
</error-page>
<ejb-ref>
<description>This bean is exported as a WebService</description>
<ejb-ref-name>statelessSession.WeatherHome</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>examples.webservices.rpc.weatherEJB.WeatherHome</home>
<remote>examples.webservices.rpc.weatherEJB.Weather</remote>
</ejb-ref>
</web-app>
RPC スタイル Web サービスの weblogic.xml ファイルの更新
RPC スタイル Web サービス用の weblogic.xml デプロイメント記述子は、Web サービス固有の要素を持ちません。Web サービスを実装するステートレス セッション EJB への標準的な参照があります。
次のサンプル weblogic.xml デプロイメント記述子には、RPC スタイル Web サービスの例 examples.webservices.rpc 用の要素があります。
<!DOCTYPE weblogic-web-app
PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN"
"http://www.beasys.com/j2ee/dtds/weblogic-web-jar.dtd">
<weblogic-web-app>
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>statelessSession.WeatherHome</ejb-ref-name>
<jndi-name>statelessSession.WeatherHome</jndi-name>
</ejb-reference-description>
</reference-descriptor>
</weblogic-web-app>
weblogic.xml デプロイメント記述子の要素の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。
RPC スタイル Web サービスの application.xml ファイルの更新
RPC スタイル Web サービス用の application.xml デプロイメント記述子には、Web サービスを構成する SOAP サーブレットおよびステートレス セッション FIB を参照する Web アプリケーションへの標準的な参照があります。
1 つの Web サービス関連要素は、<web> 要素の <context-root> サブ要素です。<context-root> 要素の値は、WSDL、ホーム ページ、または Web サービス自体にアクセスするすべての URL で使用されます。
次のサンプル application.xml デプロイメント記述子には、RPC スタイル Web サービスの例 examples.webservices.rpc の要素があります。
<!DOCTYPE application
PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN'
'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>
<application>
<display-name>Web-services</display-name>
<module>
<web>
<web-uri>web-services.war</web-uri>
<context-root>/weather</context-root>
</web>
</module>
<module>
<ejb>weather.jar</ejb>
</module>
</application>
application.xml ファイル内の要素の説明については、『WebLogic Server アプリケーションの開発』を参照してください。
メッセージスタイル Web サービス アーカイブ ファイルの手動によるアセンブル
この節では、メッセージスタイル Web サービスを WebLogic Server にデプロイ可能なエンタープライズ アプリケーションである *.ear ファイルに手動でアセンブルする方法について説明します。
ユーザが Administration Console を使用して以下の JMS コンポーネントを設定していることを前提としています。
Administration Console を使用して JMS コンポーネントをコンフィグレーションする方法の詳細については、『WebLogic Server 管理者ガイド』を参照してください。
メッセージスタイル Web サービス アーカイブ ファイルを手動でアセンブルするには、次の手順に従います。
Windows NT の場合は、setEnv.cmd コマンドを実行します。このコマンドは BEA_HOME\config\domain ディレクトリにあります。BEA_HOME は WebLogic Server がインストールされているディレクトリで、domain はドメインの名前です。
UNIX の場合は、setEnv.sh コマンドを実行します。このコマンドは BEA_HOME/config/domain ディレクトリにあります。BEA_HOME は WebLogic Server がインストールされているディレクトリで、domain はドメインの名前です。
WEB-INF サブディレクトリに初期の web.xml と weblogic.xml デプロイメント記述子が自動的に作成されます。
java weblogic.ant.taskdefs.war.DDInit
staging-dir
staging-dir は、ステージング ディレクトリです。
デプロイメント記述子を生成する Java ベースの DDInit ユーティリティの詳細については、『WebLogic Server アプリケーションの開発』を参照してください。
WEB-INF/web.xml ファイルを編集します。詳細については、この付録の
メッセージスタイル Web サービス WSDL ファイルの作成を参照してください。
WEB-INF/weblogic.xml ファイルを編集します。詳細については、この付録の
メッセージスタイル Web サービスの weblogic.xml ファイルの更新を参照してください。
この手順では、このディレクトリの名前を wsdl_dir とします。
wsdl_dir サブディレクトリで、WSDL JSP を作成します。wsgen Java ユーティリティでは、この JSP wsdl.jsp を生成するときに自動的に名前を付けます。この命名規約に従うか、あるいは独自に名前を付けることもできます。
このファイルの作成の詳細については、この付録の メッセージスタイル Web サービス WSDL ファイルの作成を参照してください。
wsdl_dir サブディレクトリ内に、前の手順で作成した WSDL JSP へのリンクを含む index.html ファイルおよび後の手順で作成するクライアント JAR ファイルを作成します。次の例は簡単な index.html ファイルを示します。
<html>
<body>
<h3>Web Service Name</h3>
<ul>
<li><a href='wsdl.jsp'>WSDL</a></li>
<li><a href='../client.jar'>client.jar</li>
</ul>
</body>
</html>
client.jar ファイルを作成します。このファイルの作成の詳細については、この付録の
client.jar ファイルの手動による作成を参照してください。
注意: この手順は省略可能です。Java クライアント アプリケーションを使用して Web サービスを呼び出す場合には、client.jar ファイルを作成するだけです。
index.html ファイルを作成し、および前の手順で作成した index.html ファイルへのリンクを設定します。次の例は簡単な index.html ファイルを示します。
<html>
<body>
<h3>Message-Style Web Services</h3>
<ul>
<li><a href='/context/wsdl_dir/index.html'>wsdl_dir</a></li>
</ul>
</body>
</html>
この例では、context は application.xml ファイル(後の手順で作成する)内の Web アプリケーションの context-root 要素を指し、wsdl_dir は前の手順で作成した WSDL ファイルを含むサブディレクトリの名前を指します。
*.war ファイル)を作成します。
jar cvf w
eb-app-name.war -Cstaging-dir.
注意: wsgen Java ant タスクでは、デフォルト名 web-services.war を Web アプリケーション *.war ファイルに割り当てます。この命名規約に従う必要はありません。
*.war ファイルを
手順 12. で作成したステージング ディレクトリにコピーします。
WEB-INF サブディレクトリに初期の application.xml デプロイメント記述子が自動的に作成されます。
java weblogic.ant.taskdefs.ear.DDInit
staging-dir
staging-dir は、
手順 12. で作成したステージング ディレクトリを指します。
デプロイメント記述子を生成する Java ベースの DDInit ユーティリティの詳細については、『WebLogic Server アプリケーションの開発』を参照してください。
META-INF\application.xml ファイルを編集します。詳細については、この付録の
メッセージスタイル Web サービスの application.xml ファイルの更新を参照してください。
jar コマンドを使用して、アプリケーションのエンタープライズ アーカイブ(.ear ファイル)を作成します。
jar cvf
application.ear -Cstaging-dir.
作成された .ear ファイルは、Administration Console または weblogic.deploy コマンド ライン ユーティリティを使用して WebLogic Web サービスとしてデプロイできます。
メッセージスタイル Web サービス WSDL ファイルの作成
すべてのメッセージスタイル WebLogic Web サービス用の WSDL JSP ファイルは非常に似ています。これは、これらのタイプの Web サービスが実行するのは、データをクライアント アプリケーションとの間で送信または受信するという 2 つの操作だけだからです。
メッセージスタイル Web サービス用の WSDL JSP を作成するには、次の手順に従います。
wsdl.jsp という名前のファイルを作成します。
wsdl.jsp ファイルに貼り付けて、以降の手順に従って編集します。
サンプル WSDL では、特定の Web サービスに合わせて変更する必要がある部分は太字で示されています。
myService への参照を自身の Web サービスの名前に置換します。
send を receive に置換します。
url:local を自身の Web サービスの固有のネームスペースに置換します。
/msg/sendMsg から次の URI に置き換えます。
/
context-root/url-pattern
context-root は application.xml デプロイメント記述子の <context-root> 要素を指し、url-pattern は web.xml デプロイメント記述子内の SOAP サーブレットの <url-pattern> を指します。
<%= request.getServerName() %>:<%= request.getServerPort() %> をハードコード化されたホスト値およびポート値と置き換えて、WSDL JSP 内の soap:address 要素を編集します。
次のサンプル WSDL JSP を WSDL JSP の基本として使用してください。
<?xml version="1.0"?>
<definitions
targetNamespace="urn:local"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="urn:local"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
<types>
<schema targetNamespace='urn:local'
xmlns='http://www.w3.org/1999/XMLSchema'>
</schema>
</types>
<message name="
sendRequest">
<part name="message" type="xsd:anyType" />
</message>
<message name="sendResponse">
</message>
<portType name="
myServicePortType">
<operation name="send">
<input message="tns:sendRequest"/>
<output message="tns:sendResponse"/>
</operation>
</portType>
<binding name="
myServiceBinding" type="tns:myServicePortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http/"/>
<operation name="send">
<soap:operation soapAction="urn:send"/>
<input>
<soap:body use="encoded" namespace='urn:myService'
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace='urn:myService'
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="
myService">
<documentation>todo</documentation>
<port name="myServicePort" binding="tns:myServiceBinding">
<soap:address location="http://<%= request.getServerName() %>:<%= request.getServerPort() %>/msg/sendMsg"/>
</port>
</service>
</definitions>
メッセージスタイル Web サービスの web.xml ファイルの更新
この節では、メッセージスタイル WebLogic Web サービス アーカイブ ファイル内の SOAP サーブレットを参照する Web アプリケーション用の web.xml デプロイメント記述子に更新または追加する必要がある要素について説明します。web.xmlデプロイメント記述子の完全な例については、この節の最後の例を参照してください。
ここでは Web アプリケーションとデプロイメント記述子に関して基本的な知識があることを前提としています。詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。
メッセージスタイル Web サービス用の web.xml ファイルを更新するには、次の要素を追加します。
<servlet> 要素。<servlet-class> サブ要素を、JMS の送り先がトピックかキューか、またはサービスを呼び出すクライアントがメッセージを送信するか受信するかによって、次のサーブレット クラスの 1 つに設定します。
weblogic.soap.server.servlet.DestinationSendAdapter - サービスと、メッセージを JMS トピックまたはキューのどちらかに送信するクライアント アプリケーション間の SOAP メッセージを処理します。
weblogic.soap.server.servlet.QueueReceiveAdapter - サービスとメッセージを JMS キューから受信するクライアント アプリケーション間の SOAP メッセージを処理します。
weblogic.soap.server.servlet.TopicReceiveAdapter - サービスと、メッセージを JMS トピックから受信するクライアント アプリケーション間の SOAP メッセージを処理します。
この <servlet> 要素には、JMS の送り先クラスを参照する要素と、JMS 接続ファクトリ クラスを参照する要素の 2 つの <init-params> 要素があります。
次の例は SOAP サーブレットに対する <servlet> 参照を示します。
<servlet>
<servlet-name>myService</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.DestinationSendAdapter
</servlet-class>
<init-param>
<param-name>topic-resource-ref</param-name>
<param-value>myServiceDestination</param-value>
</init-param>
<init-param>
<param-name>connection-factory-resource-ref</param-name>
<param-value>myServiceFactory</param-value>
</init-param>
</servlet>
<servlet> 要素。次の例で示すように <servlet-class> 要素を weblogic.soap.server.servlet.FaultHandler に設定します。
<servlet>
<servlet-name>myServiceFault</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.FaultHandler
</servlet-class>
</servlet>
<servlet> 要素。
<servlet>
<servlet-name>myServiceWSDL</servlet-name>
<jsp-file>/myService/wsdl.jsp</jsp-file>
</servlet>
JSP ファイル <jsp-file> へのパスは、この付録の
メッセージスタイル Web サービス アーカイブ ファイルの手動によるアセンブルで作成した WSDL JSP への Web アプリケーション アーカイブ ファイル内のパスです。
<servlet> 要素に対して、次の例に示すようにサーブレットへの URL をマップする <servlet-mapping> 要素を作成します。
<servlet-mapping>
<servlet-name>myServiceFault</servlet-name>
<url-pattern>/weblogic/webservice/fault</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myServiceWSDL</servlet-name>
<url-pattern>/myService/myService.wsdl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myService</servlet-name>
<url-pattern>/sendMsg</url-pattern>
</servlet-mapping>
<error-page> 要素。正確には次のようになります。
<error-page>
<exception-type>
weblogic.soap.FaultException
</exception-type>
<location>/weblogic/webservice/fault</location>
</error-page>
<servlet> 要素内の JMS の送り先参照と接続ファクトリ参照を JNDI 内の Java オブジェクトにリンクする 2 つの <resource-ref> 要素。
<resource-ref>
<res-ref-name>myServiceDestination</res-ref-name>
<res-type>javax.jms.Destination</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<res-ref-name>myServiceFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
次のサンプル web.xml デプロイメント記述子には、メッセージスタイル Web サービスの例 examples.webservices.message 用の要素があります。
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<servlet>
<servlet-name>myService</servlet-name>
<servlet-class>
weblogic.soap.server.servlet.DestinationSendAdapter
</servlet-class>
<init-param>
<param-name>topic-resource-ref</param-name>
<param-value>myServiceDestination</param-value>
</init-param>
<init-param>
<param-name>connection-factory-resource-ref</param-name>
<param-value>myServiceFactory</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>myServiceFault</servlet-name>
<servlet-class>weblogic.soap.server.servlet.FaultHandler</servlet-class>
</servlet>
<servlet>
<servlet-name>myServiceWSDL</servlet-name>
<jsp-file>/myService/wsdl.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>myServiceFault</servlet-name>
<url-pattern>/weblogic/webservice/fault</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myServiceWSDL</servlet-name>
<url-pattern>/myService/myService.wsdl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>myService</servlet-name>
<url-pattern>/sendMsg</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>weblogic.soap.FaultException</exception-type>
<location>/weblogic/webservice/fault</location>
</error-page>
<resource-ref>
<res-ref-name>myServiceDestination</res-ref-name>
<res-type>javax.jms.Destination</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<res-ref-name>myServiceFactory</res-ref-name>
<res-type>javax.jms.ConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
メッセージスタイル Web サービスの weblogic.xml ファイルの更新
メッセージスタイル Web サービス用の weblogic.xml デプロイメント記述子は、Web サービス固有の要素を持ちませんが、JMS の送り先と JMS 接続ファクトリへの標準的な参照があります。
次のサンプル weblogic.xml デプロイメント記述子には、メッセージスタイル Web サービスの例 examples.webservices.message 用の要素があります。
<!DOCTYPE weblogic-web-app
PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN"
"http://www.beasys.com/j2ee/dtds/weblogic-web-jar.dtd">
<weblogic-web-app>
<reference-descriptor>
<resource-description>
<res-ref-name>myServiceDestination</res-ref-name>
<jndi-name>examples.soap.msgService.MsgSend</jndi-name>
</resource-description>
<resource-description>
<res-ref-name>myServiceFactory</res-ref-name>
<jndi-name>examples.soap.msgService.MsgConnectionFactory</jndi-name>
</resource-description>
</reference-descriptor>
</weblogic-web-app>
メッセージスタイル Web サービスの application.xml ファイルの更新
メッセージスタイル Web サービス用の application.xml デプロイメント記述子には、SOAP サーブレットを含む Web アプリケーションへの標準的な参照が含まれます。
1 つの Web サービス関連要素は、<web> 要素の <context-root> サブ要素です。<context-root> 要素の値は、WSDL、ホーム ページ、または Web サービス自体にアクセスするすべての URL で使用されます。
次のサンプル application.xml デプロイメント記述子には、メッセージスタイル Web サービスの例 examples.webservices.message 用の要素があります。
<!DOCTYPE application
PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN'
'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>
<application>
<display-name>Web-services</display-name>
<module >
<web>
<web-uri>web-services.war</web-uri>
<context-root>/msg</context-root>
</web>
</module>
</application>
Java client.jar ファイルには、次のオブジェクトが含まれます。
BEA では wsgen Java Ant タスクを使用して最初の *.ear ファイルを作成し、次に*.ear ファイルに内に含まれている Java client.jar ファイルを抽出してユーザ固有の Web サービス用に修正することをお勧めします。wsgen の使用方法の詳細については、
WebLogic Web サービスのアセンブルを参照してください。
|
|
|
|