4

Webcenterで事前構成されたoc4jを使用してJDeveloper 10.1.3.4を実行しています。バニラの JSF Webcenter プロジェクトをポートレット化しようとしています。

  1. webcenter アプリケーション テンプレートを使用してアプリケーションを作成します。
  2. JSF JSP を追加します。これは単純に、すべてのデフォルト値を持つインデックスと呼ばれます。
  3. デプロイメント・プロファイルを追加し、ローカル oc4j にデプロイします
  4. jsf ページに移動すると、すべてが機能します。
  5. ViewController を右クリックし、ライブラリ Portlet Faces Bridge を追加します。
  6. ViewController を右クリックし、Portlet Deployment 記述子を追加します。
  7. リンク テキストの値を使用して portlet.xml を編集します。

  8. portlet.xml で、デフォルトのページ ビューを /index.jspx に置き換えます

    ローカル oc4j にデプロイしようとすると、次のようなメッセージが表示されます

---- 展開が開始されました。---- 2009 年 5 月 1 日 2:29:37 PM ターゲット プラットフォームはスタンドアロン OC4J 10g 10.1.3 (localAppServer) です。WAR ファイルを C:\jdevstudio10134\jdev\mywork\test\ViewController\deploy\webapp2.war に書き込みました EAR ファイルを C:\jdevstudio10134\jdev\mywork\test\ViewController\deploy\webapp2.ear に書き込みました 汎用アーカイブ ファイルのバックアップ: /C:/jdevstudio10134/jdev/mywork/test/ViewController/deploy/webapp2_generic.ear WSRP アプリケーションの WSDL を作成しています WSRP アプリケーションの WSDL が作成されました ファイル webapp2.ear をアップロードしています ... ファイル webapp2.ear ... アプリケーションをアップロードしていますwebapp2 STARTS のデプロイヤー。アーカイブを C:\jdevstudio10134\j2ee\home\applications\webapp2.ear にコピーします 初期化 C:\jdevstudio10134\j2ee\home\applications\webapp2.ear を開始します...

デプロイ失敗 デプロイの経過時間: 3 秒

展開が不完全です。#### 2009 年 5 月 1 日午後 2 時 29 分 40 秒

WAR ファイルを手動で展開してページに移動すると、500 内部サーバー エラーが発生します。

09/05/01 14:49:21.984 webapp2: com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) でのサーブレット エラー java.lang.NullPointerException com.sun.faces.application.ViewHandlerImpl.renderView (ViewHandlerImpl.java:152) at oracle.portlet.server.bridges.jsf.PortletViewHandlerImpl.renderView(PortletViewHandlerImpl.java:73) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com. javax.faces.webapp.FacesServlet.service(FacesServlet.java: 214) com.evermind [Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher .java:713) at com.evermind[J2EE 10g (10.1.3.4.0) 用の Oracle コンテナ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher .java:370) com.evermind[J2EE 10g (10.1.3.4.0) 用の Oracle コンテナ].server .http.HttpRequestHandler.doProcessRequest(HttpRequestHandler .java:871) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler .java:453) at com.evermind [J2EE 10g (10.1.3.4.0) 用の Oracle コンテナ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler .java:221) at com.evermind[J2EE 10g (10.1.3.4.0) 用の Oracle コンテナ].server. http.HttpRequestHandler.run(HttpRequestHandler.java:122) at com.evermind[J2EE 10g (10.1.3.4.0) 用の Oracle コンテナ].server.http.HttpRequestHandler。run(HttpRequestHandler.java:111) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$ MyWorker.run(ReleasableResourcePooledExecutor .java:303) at java.lang.Thread.run(Thread.java:595)

私のportlet.xmlファイルは次のようになります

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<portlet-app version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
 <portlet> 
     <description>myapp</description> 
     <portlet-name>test</portlet-name> 
     <display-name>myapp</display-name> 
     <portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet 
     </portlet-class> 
     <init-param> 
      <name>DefaultPage.view</name>
      <value>/index.jspx</value>
     </init-param> 
     <init-param> 
      <name>BridgeLifecycleListeners</name>
      <value>
       oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener,
       oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener
      </value>
     </init-param> 
    <supports> 
     <mime-type>text/html</mime-type> 
     <portlet-mode>VIEW</portlet-mode> 
     </supports> 
     <supported-locale>en</supported-locale> 
     <portlet-info> 
      <title>myapp</title> 
      <short-title>test</short-title> 
     </portlet-info> 
   </portlet> 
</portlet-app>

...ファイルを削除して jspx ページを再デプロイすると、正常に動作します。

4

1 に答える 1

0

oc4j よりもはるかに優れた wls を使用する jdev 11g に移行する必要があります。

于 2011-02-02T17:47:23.060 に答える