discuss_ja@glassfish.java.net

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

From: <y_at_sonoda.ac>
Date: Mon, 19 May 2008 17:46:29 +0900

Ogino様

苑田です。

うまくpingが通るようになりました。

問題は「管理ツール/データソース(ODBC)」にてDSNを作成する際に、
「ユーザDSN」ではなく、「システムDSN」タブの方に作成することで
SJSASの管理コンソールの接続プールのping機能で、無事pingが
通ることを確認いたしました。

ようやく一歩進みました。

なお、下記の情報を参考にしました。

http://f29.aaa.livedoor.jp/~snaka/PukiWiki/PukiWiki.php?ASP.NET%2FODBC%A5%C9%A5%E9%A5%A4%A5%D0%A4%AC%B8%AB%A4%C4%A4%AB%A4%E9%A4%CA%A4%A4%A1%A9

引き続きどうぞよろしくお願いします。

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