WebLogic Portal での WSRP の使用
![]() |
![]() |
![]() |
![]() |
この章では、WebLogic Server ドメインまたは WebLogic Express ドメインで実行されているアプリケーションでの WSRP の使用方法の説明に重点を置きます。また、WebLogic Workshop を使用して WebLogic Server ドメインにプロデューサをインストールする方法と、プロデューサ アプリケーションにデプロイされているどのポートレットをコンシューマが使用できるようにするかを指定する方法も説明します。
この節では、基本的な WebLogic Server ドメインを WSRP プロデューサとしてコンフィグレーションする方法を説明します。この節の例では、機能する Struts モジュールが WebLogic Server ドメインにデプロイされていることが前提になっています。
注意 : この節の手順を完了するには、WebLogic Portal インストールに含まれる特定の JAR ファイルへのアクセスが必要です。WebLogic Portal がインストールされていない場合は、BEA Systems Web サイトにある無料のインストーラを入手し、WebLogic Portal を個別の一時的な場所にインストールすることをお勧めします。こうすることで、必要な JAR ファイルをプロデューサの Web アプリケーションにコピーして、その一時インストール場所を削除できます。
この手順の目的は、リモートで使用できるポートレットをプロデューサに作成することです。そのためには、Struts アプリケーションのコンフィグレーションを変更し、適切な JAR ファイルと TLD ファイルをアプリケーションにコピーし、アプリケーションが含まれる Struts モジュールを参照するポートレットを作成する必要があります。
この手順に従うと、図 4-1 のように、Struts アプリケーションを、WebLogic Portal アプリケーションが使用できるリモート ポートレットとして公開できます。
図 4-1 WebLogic Server プロデューサの Struts ポートレットを使用する WebLogic Portal コンシューマ
プロデューサをコンフィグレーションする前に、次の手順を完了していることが前提となります。
注意 : この手順は、経験豊富な Struts および WebLogic Portal 開発者のみが実行することをお勧めします。単純な間違いをしやすく、トラブルシューティングが困難になるおそれがあります。可能な限り、進行状況をテストする方法を提示します。
すでに説明したように、プロデューサをコンフィグレーションする前に、WebLogic Server 環境にデプロイして正常に実行できる Struts モジュールがあることが必須です。Struts アプリケーションが Struts モジュールとしてコンフィグレーションされている必要があります。Struts モジュールのコンフィグレーションの詳細については、Struts のドキュメントを参照してください。基本的に、モジュールは Web アプリケーションのサブディレクトリにあり、固有の struts-config.xml
ファイルを持っています。パスは通常、web.xml
ファイルで指定されます。
ヒント : Struts アプリケーションを WSRP 環境で使用する前に、アプリケーションを、WebLogic Portal ドメインで動作するローカル ポートレットに変換してみてください。テスト環境で Struts アプリケーションをローカルのスタンドアロン ポートレットに変換できた場合は、WSRP で正常に動作する可能性が高くなります。そのためには、WebLogic Workshop が必要です。BEA Web サイトから無料の WebLogic Workshop 開発者バージョンをダウンロードできます。WebLogic Workshop を使用して Struts アプリケーションをポートレットに変換する方法については、「Struts アプリケーションをポータルに統合する」を参照してください。
この節では、基本的な WebLogic Server ドメインを WSRP プロデューサとしてコンフィグレーションする方法を説明します。この手順の目的は、Struts アプリケーションを、WebLogic Portal アプリケーションが使用できるリモート ポートレットとして公開することです。
注意 : WSRP を使用して Struts ポートレットを公開する場合は、基礎となるアプリケーションがモジュールとしてコンフィグレーションされ、適切に動作することを確認してから、WSRP プロデューサをコンフィグレーションしてください。WebLogic Workshop を使用して、機能するローカル ポートレットを作成してみることもお勧めします。この推奨事項の詳細については、「はじめに」を参照してください。
Windows の場合 : DOMAIN_HOME\startWebLogic.cmd
Linux の場合 : DOMAIN_HOME/startWebLogic.sh
注意 : CLASSPATH
要素内に改行がないことを確認してください。CLASSPATH
にすでに割り当て済みの要素を削除しないでください。
%JAVA_HOME%\jre\lib\rt.jar;
%WL_HOME%\server\lib\webservices.jar;
%WL_HOME%\portal\lib\wsrp\wsrp-common.jar;
%WL_HOME%\server\lib\xbean.jar;
%WL_HOME%\server\lib\wlxbean.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_schemas.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_system.jar;
%WL_HOME%\server\lib\knex.jar;
%WL_HOME%\javelin\lib\javelin.jar
%WL_HOME%\common\lib\log4j.jar
$JAVA_HOME/jre/lib/rt.jar;
$WL_HOME/server/lib/webservices.jar;
$WL_HOME/portal/lib/wsrp/wsrp-common.jar;
$WL_HOME/server/lib/xbean.jar;
$WL_HOME/server/lib/wlxbean.jar;
$WL_HOME/portal/lib/netuix/system/netuix_schemas.jar;
$WL_HOME/portal/lib/netuix/system/netuix_system.jar;
$WL_HOME/server/lib/knex.jar;
$WL_HOME/javelin/lib/javelin.jar
$WL_HOME/common/lib/log4j.jar
コード リスト 4-1 は、Windows システムの変更後の CLASSPATH
の例を示します。
コード リスト 4-1 Windows の CLASSPATH の例
CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\
rt.jar;%WL_HOME%\server\lib\webservices.jar;%WL_HOME%\portal\lib\wsrp\
wsrp-common.jar;%WL_HOME%\server\lib\xbean.jar;%WL_HOME%\server\lib\
wlxbean.jar;%WL_HOME%\portal\lib\netuix\system\netuix_schemas.jar;
%WL_HOME%\portal\lib\netuix\system\netuix_system.jar;%WL_HOME%\server\
lib\knex.jar;%WL_HOME%\javelin\lib\javelin.jar;%WL_HOME%\common\lib\
log4j.jar;%CLASSPATH%
この節では、Struts アプリケーションを変更します。このプロセスには、コンフィグレーション ファイルの変更と、アプリケーション内でのファイルの追加/置き換えが含まれます。コンフィグレーション ファイルは、BEA 固有のクラスおよびタグ ライブラリ ファイルを参照するように更新する必要があります。アプリケーションが WSRP 環境内で機能するためには、これらのコンポーネントが必須です。たとえば、BEA タグ ライブラリは、ポートレットの URL 書き換えが適切に処理されるようにします。
Web アプリケーションの web.xml
ファイルに、以下の要素が存在することを確認します。いずれかの要素が不足している場合は、追加する必要があります。
<!-- WSRP Servlet configuration -->
<servlet>
<servlet-name>com.bea.wsrp.producer.WsrpServer</servlet-name>
<servlet-class>com.bea.wsrp.producer.WsrpServer</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>com.bea.wsrp.logging.MessageMonitor</servlet-name>
<servlet-class>com.bea.wsrp.logging.MessageMonitor</servlet-class>
<init-param>
<param-name>enableSoapMessageLogging</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- WSRP Servlet mapping -->
<servlet-mapping>
<servlet-name>com.bea.wsrp.producer.WsrpServer</servlet-name>
<url-pattern>/producer/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>com.bea.wsrp.logging.MessageMonitor</servlet-name>
<url-pattern>/monitor</url-pattern>
</servlet-mapping>
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
...
<init-param>
<param-name>moduleConfigLocators</param-name>
<param-value>com.bea.struts.adapter.util.ModuleConfigLocator</param-value>
</init-param>
...
</servlet>
<!-- WSRP Struts Adapter Tag Library Descriptors -->
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-adapter-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-adapter-nested.tld</taglib-location>
</taglib>
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<!-- COMMENTED in favor of WSRP adapter Tag Libraries -->
<!--
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
-->
WEB-INF
ディレクトリにある wsrp-producer-config.xml
というファイルに貼り付けます。 コード リスト 4-2 wsrp-producer-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<wsrp-producer-config
xmlns="http://www.bea.com/servers/weblogic/wsrp-producer-config/8.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/weblogic/wsrp-producer-config/8.0 wsrp-producer-config.xsd">
<description>
This is a WSRP Producer
</description>
<!-- この要素は、このプロデューサの機能を記述します。この
プロデューサで提供するすべてのポートを SSL 経由にする必要がある場合は、secure 属性を
"true" に設定します。この Web アプリケーションがポータルに対応している場合は、
required 属性を "true" に設定して、登録およびポートレット管理サービスを
有効にすることができます。-->
<service-config>
<registration required="false" secure="false"/>
<service-description secure="false"/>
<!-- コンシューマが WebLogic Portal の場合は、 accepts-mime を true に設定するとアップロードされたファイルがより効率的に処理されます。-->
<markup secure="false" rewrite-urls="true"
transport="string" accepts-mime="false"/>
<portlet-management required="false" secure="false"/>
</service-config>
<supported-locales>
<locale>en</locale>
<locale>en-US</locale>
</supported-locales>
</wsrp-producer-config>
注意 : registration required
と portlet-management required
パラメータが false
に設定されていることを確認してください。
<controller processorClass=
"com.bea.struts.adapter.action.AdapterRequestProcessor"/>
<?xml version="1.0" encoding="UTF-8"?>
<portal:root xmlns:html="http://www.w3.org/1999/xhtml-netuix-modified/1.0.0"
xmlns:netuix="http://www.bea.com/servers/netuix/xsd/controls/netuix/1.0.0"
xmlns:portal="http://www.bea.com/servers/netuix/xsd/portal/support/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/netuix/xsd/portal/support/1.0.0 portal-support-1_0_0.xsd">
<netuix:portlet definitionLabel="portlet_sayHello" title="WSRP Echo Example">
<netuix:titlebar>
<netuix:minimize/>
<netuix:maximize/>
</netuix:titlebar>
<netuix:content>
<netuix:strutsContent action="welcome" module="/echo"/>
</netuix:content>
</netuix:portlet>
</portal:root>
この節では、プロデューサ コンフィグレーションのテスト手順を説明します。
http://
host
:
port
/
myStrutsApp
/producer?wsdl
host
はサーバ マシンの IP アドレス、port
はサーバのリスン ポート番号、myStrutsApp
は Struts Web アプリケーションのルート名です。
このテストが成功した場合、図 4-2 のような XML Web サービス WSDL ファイルが返されます。
http://producerHost:producerPort
/StrutsApp
/producer?WSDL
WebLogic Express (WLX) サーバ ドメインを WSRP プロデューサとしてコンフィグレーションできます。そのためには、「基本的な WebLogic Server ドメインでの WSRP の使用」にある手順と同じ手順を実行します。プロデューサとしてコンフィグレーションする手順は、WLX ドメインも WebLogic Server ドメインも同じです。
プロデューサに基づいて、いくつでもポートレットを作成でき、数千に及ぶ場合もあります。デフォルトでは、これらのすべてのポートレットが、コンシューマにとってリモート ポートレットとして使用可能になります。ただし、ポートレット プロパティ エディタで offerPortlets プロパティを設定することで、コンシューマが実際に使用できるポートレットを指定できます。
図 4-3 プロキシ ポートレット プロパティ エディタ - [リモートとして提供] プロパティを選択した状態
このプロパティの設定方法については、次の URL にある WebLogic Workshop オンライン ヘルプ システムの「ポートレットをリモートで使用可能/不可にする」を参照してください。
http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportlets/portletEnable.html
![]() ![]() |
![]() |
![]() |