![]() |
![]() |
|
|
| |
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="
send
Request">
<part name="message" type="xsd:anyType" />
</message>
<message name="send
Response">
</message>
<portType name="
myService
PortType">
<operation name="send
">
<input message="tns:send
Request"/>
<output message="tns:send
Response"/>
</operation>
</portType>
<binding name="
myService
Binding" type="tns:myService
PortType">
<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="myService
Port" binding="tns:myService
Binding">
<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 サービスのアセンブルを参照してください。
![]() |
![]() |
![]() |