discuss_ja@glassfish.java.net

Re: NB6.1+SJSAS9.1でMS AccessでのEJB利用は可能?

From: <y_at_sonoda.ac>
Date: Fri, 16 May 2008 09:24:48 +0900

Ogino様

苑田です。

移動中の列車からなのですが、プロパティで、user
,passwordはいずれも、頭文字を大文字にしてます。問題ないでしょうか。いがいとアクセスのファイルへのユーザー名、パスワードの設定に間違いがあるのかもしれません。もともとこれらの設定がないファイルだったもので、今回設定を追加したのです。

いま外なので、帰ってから確認いたします。いろいろと情報をありがとうございますm(v_v;m

On 5/16/08, Shinya Ogino <Shinya.Ogino_at_sun.com> wrote:
> http://forums.java.net/jive/thread.jspa?messageID=226250&#226250
>
> こちらでも同じようなやり取りがされてました。
> でも、user, password, databaseName は全て設定されてますよね。
> なんだろう、再現できません。。
>
> 荻布
>
> y_at_sonoda.ac wrote:
>> Ogino様
>>
>> 苑田です。
>>
>> あまりにも先になってしまうので、ちょっと時間をつくって
>> ご教授いただいた内容でSJSASの接続プールを変更しpingを
>> 試してみました。
>>
>> 結果として、帰ってくるエラーが変わりましたがやはりうまく
>> つながらないようです。
>>
>> エラーの内容は下記のとおりでした。
>>
>>  [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。
>>
>>
>> なんだかすこしだけ進んだような感じがいたします。
>> ちなみに、追加プロパティに
>>
>>
>> DatabaseName : GDMDB
>> DatabaseName : jdbc:odbc:GDMDB
>>
>> の2種類をためしてみましたが、結果は上記のとおりでした。
>>
>> 08/05/15 に Shinya Ogino<Shinya.Ogino_at_sun.com> さんは書きました:
>>>> sun.jdbc.odbc.JdbcOdbcDriver cannot be cast to javax.sql.DataSource
>>> もう既に解決しているかもしれませんが、接続プールの設定で、
>>>
>>>>>> データソースクラス:sun.jdbc.odbc.JdbcOdbcDriver
>>> これを sun.jdbc.odbc.ee.DataSource にし、
>>>
>>> プロパティに下記を追加してみるとどうでしょうか?
>>> DatabaseName : GDMDB
>>>
>>> 今、こちらにあるマシンで試したのですが、上の設定で
>>> ping は通る様です。詳しくは下記を参照してみて下さい。
>>>
>>> http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jdbc/bridge.html
>>>
>>> 荻布
>>>
>>> y_at_sonoda.ac wrote:
>>>> Ogino様
>>>>
>>>> 苑田です。
>>>>
>>>> ご連絡をありがとうございました。
>>>> GlassFish.jpの方は早速登録をいたしました。
>>>>
>>>> また下記、接続プールをpingでテストする方法ですが、
>>>> いきなりここでエラーをくらってしまいました。
>>>> まずはここから解決する必要がありそうです。
>>>>
>>>> エラーの内容は
>>>>
>>>> sun.jdbc.odbc.JdbcOdbcDriver cannot be cast to javax.sql.DataSource
>>>>
>>>> ということなので、データソース名がまずいのかもしれません。
>>>> これを何にすればよいのか、Webとかをいま調べています。
>>>>
>>>> 08/05/14 に Shinya Ogino<Shinya.Ogino_at_sun.com> さんは書きました:
>>>>> 苑田さん、こんにちは。
>>>>>
>>>>> 今手元に Windows 環境がなくて実機で試せないのですが、
>>>>> 問題を切り分ける最初のステップとして、AS の管理コンソール、
>>>>>
>>>>> リソース - 接続プール - GDMDBPool
>>>>>
>>>>> で表示される「接続プールを編集」画面で、「Ping」の
>>>>> ボタンをクリックしてみてもらえますか?
>>>>> 成功しました、と出れば接続プール以下は正しく設定
>>>>> されていることになります。
>>>>>
>>>>> また、本 ML はまだ購読者があまりいないので、
>>>>> http://glassfish.jp/ の ML に聞いてみるのもよいかも
>>>>> 知れません。
>>>>>
>>>>> 荻布
>>>>>
>>>>> y_at_sonoda.ac wrote:
>>>>>> 苑田です。
>>>>>>
>>>>>> 先に質問した件は、JREをJDKに変更することで無事解決したのですが、
>>>>>> いま本題のMS Accessの*.mdbファイルをセッションビーン経由で、webに
>>>>>> 表示するテストをしています。
>>>>>>
>>>>>> で、どうもうまくいかず、SJSASのログを見てみると、SEVEREが一件
>>>>>> 発生しています。
>>>>>>
>>>>>> やろうとしていることを簡単に書くと、サーバ・クライアントの構成で、
>>>>>> サーバに*.mdbファイルがあり、このmdbのなかの一つのテーブルの
>>>>>> 内容をクライアント側のwebブラウザに一覧表示する、というものです。
>>>>>> とりあえずwebブラウザや、クライアントソフトからこのmdbファイルに
>>>>>> データを追加したり、更新したりする予定は無く、単に現在のデータが
>>>>>> 表示できればそれでokです。
>>>>>> (更新処理などをやろうとすると、jdbc.odbc経由だとJTAにちゃんと対応してない
>>>>>> からかいろいろと問題がある旨の情報はネットで見つけました。今回は閲覧だけ
>>>>>> なので、問題はないのではないかと考えていますが)
>>>>>>
>>>>>> SJSASの肝心のSEVEREログはメールの末尾につけるとして、現在の
>>>>>> 設定を可能な限り以下に記したいと思います。
>>>>>>
>>>>>> ※一部、クラス名やページ名などを実際のものと若干違うものに書き直して
>>>>>> いますので、書き直しの抜けやミスがあって一貫性の無い部分があるかも
>>>>>> しれません。
>>>>>>
>>>>>> (0)環境
>>>>>> サーバ:
>>>>>> Windows Server 2005
>>>>>> JDK1.6_06
>>>>>> SJSAS9.1_01
>>>>>> クライアント:
>>>>>> Windows XP sp2
>>>>>> JDK1.6_06
>>>>>> NB6.1英語版(日本語パッチあて済み)
>>>>>>
>>>>>> (1)サーバのデータソース設定
>>>>>> Winの
>>>>>> 「コントロールパネル/管理ツール/データソース(ODBC)」
>>>>>> にて、
>>>>>> 名称:GDMDB
>>>>>> ドライバ:Driver do Microsoft Access (*.mdb)
>>>>>> で登録しています。
>>>>>>
>>>>>> (2)SJSASの管理コンソール設定
>>>>>> SJSASのj管理コンソールの
>>>>>> 「リソース/JDBC/接続プール」
>>>>>> にて
>>>>>> 名前:GDMDBPool
>>>>>> データソースクラス:sun.jdbc.odbc.JdbcOdbcDriver
>>>>>> リソースクラス:javax.sql.DataSource
>>>>>> [追加プロパティ]にて
>>>>>> Url: jdbc:odbc:GDMDB
>>>>>> User: <username>
>>>>>> Password: <password>
>>>>>> おまけに以下のプロパティも加えています。
>>>>>> toplink.jdbc.url : jdbc:odbc:GDMDB
>>>>>> toplink.jdbc.user : <username>
>>>>>> toplink.jdbc.password : <password>
>>>>>> toplink.platform.class.name :
>>>>>> oracle.toplink.essentials.platform.database.AccessPlatform
>>>>>> toplink.ddl-generation : none (既存*.mdbの閲覧のみなので)
>>>>>> を設定しています。
>>>>>>
>>>>>> (3)SJSASの管理コンソール設定
>>>>>> SJSASのj管理コンソールの
>>>>>> 「リソース/JDBC/JDBCリソース」
>>>>>> にて、
>>>>>> JNDI名:jdbc/GDMDBDS (適当につけています)
>>>>>> プール名:GDMDBPool (上記(2)で追加したプールを指定しています)
>>>>>>
>>>>>> とりあえずSJSAS側の設定としてはこれだけです。
>>>>>>
>>>>>> つぎにNB側のソースの方ですが、以下のとおりです。
>>>>>>
>>>>>> EJBモジュールプロジェクト:GDMTest1-ejbを作成し
>>>>>>
>>>>>> (4)エンティティクラスを2つ作成
>>>>>>
>>>>>> GDMData.java (@Entityアノテーションのあるもの)
>>>>>> GDMDataKey.java (複合キー用に@Embeddableしているもの)
>>>>>>
>>>>>> ---------------------GDMData.javaの中身(抜粋)---------------------------------
>>>>>> import java.io.Serializable;
>>>>>> import java.sql.Date;
>>>>>> import javax.persistence.Column;
>>>>>> import javax.persistence.EmbeddedId;
>>>>>> import javax.persistence.Entity;
>>>>>> import javax.persistence.ManyToOne;
>>>>>>
>>>>>> @Entity(name = "GDC_IMAGE_DATA")
>>>>>> public class GDMData implements Serializable {
>>>>>>
>>>>>> public GDMImageData() {
>>>>>> }
>>>>>> :
>>>>>> @EmbeddedId
>>>>>> private GDMDataKey gdmIDataKey;
>>>>>>
>>>>>> public GDMDataKey getGdmDataKey() {
>>>>>> return gdmImageDataKey;
>>>>>> }
>>>>>>
>>>>>> public void setGdmDataKey(GDMDataKey gdcDataKey) {
>>>>>> this.gdmDataKey = gdcDataKey;
>>>>>> }
>>>>>> :
>>>>>> @Column(name = "PAGE")
>>>>>> private int page;
>>>>>>
>>>>>> public int getPage() {
>>>>>> return page;
>>>>>> }
>>>>>>
>>>>>> public void setPage(int page) {
>>>>>> this.page = page;
>>>>>> }
>>>>>> :
>>>>>> }
>>>>>>
>>>>>> -------------------------GDMDataKey.java
>>>>>> の中身-------------------------------------
>>>>>> import java.io.Serializable;
>>>>>> import javax.persistence.Column;
>>>>>> import javax.persistence.Embeddable;
>>>>>>
>>>>>> @Embeddable
>>>>>> public class GDMDataKey implements Serializable {
>>>>>>
>>>>>> public GDMImageDataKey() {
>>>>>> }
>>>>>>
>>>>>> private String orderNo;
>>>>>> @Column(name="ORDER") <-----ここでNBは"!"を表示してる。
>>>>>> public String getOrderNo() {
>>>>>> return orderNo;
>>>>>> }
>>>>>>
>>>>>> public void setOrderNo(String orderno) {
>>>>>> this.orderNo = orderno;
>>>>>> }
>>>>>> :
>>>>>> }
>>>>>> -------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> (5)セッションエンティティを作成
>>>>>>
>>>>>> インタフェース:GDMOperator.java
>>>>>> クラス:GDMOperatorBean.java
>>>>>>
>>>>>> -----------------GDMOperator.javaの中身-----------------------------------------------------
>>>>>> import GDMDataEntityPackage.GDMImageData;
>>>>>> import java.util.List;
>>>>>>
>>>>>> public interface GDMOperator {
>>>>>>
>>>>>> public int getImageData();
>>>>>> public List<GDMImageData> listImageData();
>>>>>> :
>>>>>> }
>>>>>>
>>>>>> -----------------GDMOperatorBean.javaの中身--------------------------------------------------
>>>>>> import GDMDataEntityPackage.GDMData;
>>>>>> import java.io.Serializable;
>>>>>> import java.util.List;
>>>>>> import javax.ejb.Remote;
>>>>>> import javax.ejb.Stateless;
>>>>>> import javax.persistence.PersistenceContext;
>>>>>> import javax.persistence.EntityManager;
>>>>>> import javax.persistence.Query;
>>>>>>
>>>>>> @Remote
>>>>>> @Stateless
>>>>>> @PersistenceContext(unitName = "GDMDB-PU")
>>>>>> public class GDMOperatorBean implements GDMOperator, Serializable {
>>>>>>
>>>>>> private EntityManager em;
>>>>>>
>>>>>> public GDMOperatorBean() {
>>>>>> }
>>>>>>
>>>>>> @Override
>>>>>> public int getImageData() {
>>>>>> return 0;
>>>>>> }
>>>>>>
>>>>>> @Override
>>>>>> public List<GDMData> listData() {
>>>>>> Query q = em.createQuery("SELECT e FROM GDMData e");
>>>>>> List<GDMData> imageData = (List<GDMData>) q.getResultList();
>>>>>> return imageData;
>>>>>> }
>>>>>> :
>>>>>> }
>>>>>> -------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> (6)persistence.xml
>>>>>> 上記ejbプロジェクトのpersistence.xmlを下記のように定義
>>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <persistence version="1.0"
>>>>>> xmlns="http://java.sun.com/xml/ns/persistence"
>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>>>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>>>>>> <persistence-unit name="GDMDB-PU" transaction-type="JTA">
>>>>>> <jta-data-source>jdbc/GDMDBDS</jta-data-source>
>>>>>> <class>GDMDataEntityPackage.GDMData</class>
>>>>>> :
>>>>>> :
>>>>>> <properties/>
>>>>>> </persistence-unit>
>>>>>> </persistence>
>>>>>> ------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> webプロジェクト:GDMTest1-warを作成
>>>>>>
>>>>>> (7)表示用のjspを作成
>>>>>>
>>>>>> ------------------------------------ListImage.jspの中身-------------------------------------
>>>>>>
>>>>>> <%_at_page contentType="text/html"%>
>>>>>> <%_at_page pageEncoding="UTF-8"%>
>>>>>> <%_at_page import="javax.naming.InitialContext" %>
>>>>>> <%_at_page import="java.util.List" %>
>>>>>> <%_at_page import="GDMDataEntityPackage.GDMData" %>
>>>>>> <%_at_page import="GDMDataEntityPackage.GDMIDataKey" %>
>>>>>> <%_at_page import="GDMSessionEntityPackage.GDMOperator" %>
>>>>>>
>>>>>> <%
>>>>>> request.setCharacterEncoding("UTF-8");
>>>>>> InitialContext ctx = new InitialContext();
>>>>>> GDMOperator bean1 =
>>>>>> (GDMOperator)
>>>>>> ctx.lookup(GDMOperator.class.getName());
>>>>>> List<GDMData> gdmData = bean1.listData();
>>>>>> %>
>>>>>>
>>>>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>>>>>> "http://www.w3.org/TR/html4/loose.dtd">
>>>>>>
>>>>>> <html>
>>>>>> <head>
>>>>>> <meta http-equiv="Content-Type" content="text/html;
>>>>>> charset=UTF-8">
>>>>>> <title>リスト表示</title>
>>>>>> </head>
>>>>>> <body>
>>>>>>
>>>>>> <h1>リスト表示(test-10)</h1>
>>>>>>
>>>>>> <%
>>>>>> if (gdmData == null) {
>>>>>> out.println("gdmData:データがありませんでした。");
>>>>>>
>>>>>> } else {
>>>>>> for (GDMData imgdata : gdmData) {
>>>>>> out.println(imgdata.getNameH());
>>>>>> out.println("<br>");
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> %>
>>>>>> </body>
>>>>>> </html>
>>>>>> --------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> (8)上記webプロジェクトのsun-web.xml
>>>>>>
>>>>>> ---------------------------------------------------------------------------------------------------
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD
>>>>>> Application Server 9.0 Servlet 2.5//EN"
>>>>>> "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
>>>>>> <sun-web-app error-url="">
>>>>>> <context-root>/GDMTest-web</context-root> ←設定したのはここくらい
>>>>>> <class-loader delegate="true"/>
>>>>>> <jsp-config>
>>>>>> <property name="classdebuginfo" value="true">
>>>>>> <description>生成されたサーブレットクラスでのデバッグ情報のコンパイルを可能にします</description>
>>>>>> </property>
>>>>>> <property name="mappedfile" value="true">
>>>>>> <description>静的内容と生成されたサーブレットクラスの Java コード間の 1 対 1
>>>>>> の対応を維持します</description>
>>>>>> </property>
>>>>>> </jsp-config>
>>>>>> </sun-web-app>
>>>>>> ---------------------------------------------------------------------------------------------
>>>>>>
>>>>>> (9)上記ListData.jspに下記urlにてアクセス
>>>>>>
>>>>>> http://172.*.*.*:12080/GDMTest-web/ListData.jsp
>>>>>>
>>>>>> ※ちなみに同じフォルダにindex.html, test.jspという2つのシンプルな
>>>>>> ページデータを用意しており、それぞれは下記URLにて表示できることを確認済み
>>>>>>
>>>>>> http://172.*.*.*:12080/GDMTest-web/inex.html
>>>>>> http://172.*.*.*:12080/GDMTest-web/test.jsp
>>>>>>
>>>>>> ==========================================================
>>>>>>
>>>>>> という環境で、(9)のページを表示すると下記のような画面がwebブラウザに
>>>>>> 表示されます。
>>>>>>
>>>>>> -----------------------------------------------------------------------------------------------------------------
>>>>>> HTTP Status 500 -
>>>>>>
>>>>>> --------------------------------------------------------------------------------
>>>>>>
>>>>>> type 状態レポート
>>>>>>
>>>>>> メッセージ
>>>>>>
>>>>>> 説明The server encountered an internal error () that prevented it from
>>>>>> fulfilling this request.
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------------------
>>>>>>
>>>>>> Sun Java System Application Server 9.1_01
>>>>>> -------------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> (10)SJSASのSEVEREログ
>>>>>>
>>>>>> 上記(9)を表示した直後にSJSASに残るSEVEREログを以下に添付します。
>>>>>>
>>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>> タイムスタンプ 2008/05/14 13:53:44.538
>>>>>> ログレベル SEVERE
>>>>>> ロガー javax.enterprise.system.container.web
>>>>>> 名前と値のペア
>>>>>> _ThreadID=17;_ThreadName=httpSSLWorkerThread-12080-2;_RequestID=688126eb-31e2-4cc6-bbed-c1c6c28481ce;
>>>>>> レコード番号 1963
>>>>>> メッセージ ID StandardWrapperValve[jsp]
>>>>>> メッセージ全文 PWC1406: サーブレット jsp の Servlet.service() が例外をスローしました
>>>>>> javax.ejb.EJBException: nested exception is: java.rmi.ServerException:
>>>>>> RemoteException occurred in server thread; nested exception is:
>>>>>> java.rmi.RemoteException: null; nested exception is:
>>>>>> java.lang.NullPointerException java.rmi.ServerException:
>>>>>> RemoteException occurred in server thread; nested exception is:
>>>>>> java.rmi.RemoteException: null; nested exception is:
>>>>>> java.lang.NullPointerException at
>>>>>> com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:243)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
>>>>>> at
>>>>>> GDMSessionEntityPackage.__GDMOperator_Remote_DynamicStub.listData(GDMSessionEntityPackage/__GDMOperator_Remote_DynamicStub.java)
>>>>>> at
>>>>>> GDMSessionEntityPackage._GDMOperator_Wrapper.listData(GDMSessionEntityPackage/_GDMOperator_Wrapper.java)
>>>>>> at org.apache.jsp.ListImage_jsp._jspService(ListImage_jsp.java from
>>>>>> :66) at
>>>>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at
>>>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
>>>>>> at
>>>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
>>>>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>>>>> at
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>>>>> at
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>>>>> at
>>>>>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>>>>>> at
>>>>>> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>>>>>> Caused by: java.rmi.RemoteException: null; nested exception is:
>>>>>> java.lang.NullPointerException at
>>>>>> com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:251)
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1386)
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
>>>>>> at
>>>>>> com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:210)
>>>>>> at
>>>>>> com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:117)
>>>>>> at $Proxy46.listData(Unknown Source) at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) at
>>>>>> com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.protocol.SharedCDRClientRequestDispatcherImpl.marshalingComplete(SharedCDRClientRequestDispatcherImpl.java:183)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:219)
>>>>>> at
>>>>>> com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:192)
>>>>>> ... 38 more Caused by: java.lang.NullPointerException at
>>>>>> GDMSessionEntityPackage.GDMOperatorBean.listData(GDMOperatorBean.java:54)
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) at
>>>>>> com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
>>>>>> at
>>>>>> com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
>>>>>> at
>>>>>> com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)
>>>>>> ... 51 more javax.ejb.EJBException: nested exception is:
>>>>>> java.rmi.ServerException: RemoteException occurred in server thread;
>>>>>> nested exception is: java.rmi.RemoteException: null; nested exception
>>>>>> is: java.lang.NullPointerException at
>>>>>> GDMSessionEntityPackage._GDMOperator_Wrapper.listData(GDMSessionEntityPackage/_GDMOperator_Wrapper.java)
>>>>>> at org.apache.jsp.ListImage_jsp._jspService(ListImage_jsp.java from
>>>>>> :66) at
>>>>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at
>>>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
>>>>>> at
>>>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
>>>>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>>>>> at
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
>>>>>> at
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
>>>>>> at
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
>>>>>> at
>>>>>> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>>>>>> at
>>>>>> com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
>>>>>> at
>>>>>> com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>>>>>> --------------------------------------------ここまで--------------------------------------------------------------
>>>>>>
>>>>>> まずは問題の切り分けをと思っているのですが、上記ログからでは、
>>>>>> Windowsのodbcデータソースの設定に問題があるのか、
>>>>>> SJSASのデータソース、JDBCリソースの設定問題があるのか、
>>>>>> エンティティ・セッションビーンの記述に問題があるのか、
>>>>>> はたまた、ListData.jspの記述に問題があるのか、
>>>>>> 良く分かりません。
>>>>>>
>>>>>> nested exception と NullPointerExceptionが発生しているのは
>>>>>> 上記ログから見て取れますが、それがどこで何の理由で発生しているのかを
>>>>>> よみとれず、結果としてトラブルシュートできずに困っております。
>>>>>>
>>>>>> エキスパートの方々のご助言を得られれば幸いに存じます。
>>>>>>
>>>>>> よろしくお願いいたします。
>>>
>
>