discuss_ja@glassfish.java.net

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

From: Shinya Ogino <Shinya.Ogino_at_Sun.COM>
Date: Thu, 15 May 2008 21:51:11 +0900

> 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が発生しているのは
>>> 上記ログから見て取れますが、それがどこで何の理由で発生しているのかを
>>> よみとれず、結果としてトラブルシュートできずに困っております。
>>>
>>> エキスパートの方々のご助言を得られれば幸いに存じます。
>>>
>>> よろしくお願いいたします。
>>