discuss_ja@glassfish.java.net

Re: はじめまして&NB6.1+SJSAS9.1でのjspトラブルシュート方法?

From: Yoshio Terada <Yoshio.Terada_at_Sun.COM>
Date: Tue, 13 May 2008 22:43:52 +0900

苑田さん
寺田(よっしー)です。

先ほど、ローカルの環境で試してみたのですが、
HTTPSのリスナーに対してhttpでポート番号指定で
接続した場合、httpsにリダイレクトされるようでした。
すいません。

         <http-listener acceptor-threads="1" address="0.0.0.0"
blocking-enabled="false" default-virtual-server="server"
enabled="true" family="inet" id="http-listener-1" port="28080"
security-enabled="true" server-name="" xpowered-by="true">

つまり、先ほどの私の想定は間違っていました。

そこで、ちょっと調べてみたのですが、下記の現象と
同じではないでしょうか。
これによると、jvmのパスにtools.jarファイルを含め
て下さいとのことでした。
仮に、AppServerのランタイムにJREを指定しているよ
うであれば、
JDKに設定しなおして頂けないでしょうか。

http://www.softslate.com/forums/viewtopic.php?p=791&sid=f550422dc9ec315f44b0e4fbf111cc5d

てらだ

On 2008/05/13, at 21:10, Yoshio Terada wrote:

> よっしーです。
>
>> http://172.*.*.*:12080/***Test1-web/test.jsp
>
> HTTPで接続していて、SSLのワーカスレッドが
> 動作しているのが少しひっかかるのですが。
> ブラウザからHTTPSで接続した場合は如何でしょうか?
>
> https://127.*.*.*:12080/***Test1-web/test.jsp
>
> また、domain.xmlの内容を教えていただけないでしょうか。
> # cat $GF_INSTALL/domains/DOMAIN/config/domain.xml
>
> 特に下記のように12080のポート番号が含まれる行を教えて
> ください。
> ********************************************************************************
> <http-listener acceptor-threads="1" address="0.0.0.0"
> blocking-enabled="false" default-virtual-server
> ="server" enabled="true" family="inet" id="http-listener-1"
> port="12080" security-enabled="false" server-name=
> "" xpowered-by="true">
> ********************************************************************************
>
> もしくは、下記の行が含まれる箇所を教えてください。
> ********************************************************************************
> security-enabled="false"
> ********************************************************************************
>
> Grizzlyのソースコードによると、プロトコルが見つからない時に
> 実行されるフローに遷移しているようです。(すべては追っ
> ていませんが。)
>
> PortUnificationPipeline.java:380
> ********************************************************************************
> } else {
> // If the protocol wasn't found, it might
> be because
> // lack of missing bytes. Thus we must
> register the key for
> // extra bytes. The trick here is to re-
> use the ReadTask
> // ByteBufferInpuStream.
> if (bbInputStream == null){
> bbInputStream = new
> ByteBufferInputStream();
> }
> ByteBuffer tmpBB = protocolInfo.inputBB;
> if (tmpBB == null){
> tmpBB = protocolInfo.byteBuffer;
> }
> int byteAvailables = tmpBB.position();
> bbInputStream.setByteBuffer(tmpBB);
> bbInputStream.setSelectionKey(key);
> //One seconds blocking read.
> bbInputStream.setReadTimeout(1000);
> 380: bbInputStream.read();
> if ((tmpBB.position() - byteAvailables)
> <= 1){
> cancel(readTask,tmpBB);
> return;
> }
> protocolInfo.byteBuffer = tmpBB;
> bbInputStream.recycle();
> }
> ********************************************************************************
>
> PS.
> このMLは基本的にはサポートに関する質問は
> Best Effortでの対応になりますので、
> その点だけは御了承いただければと思います。
>
> On 2008/05/13, at 19:24, y_at_sonoda.ac wrote:
>
>> はじめまして、苑田といいます。
>>
>> つい先ほどこのMLに参加させていただきました。
>>
>> どうぞよろしくお願いいたします。
>>
>> こちらのMLが適切なのかちょっと不明なのですが、一般的な議
>> 論という
>> 説明になっていたので、質問させてください。
>>
>> 当方の環境は下記のとおりです。
>>
>> 開発マシン&クライアント:
>> Windows XP sp2
>> NetBeans6.1
>> JDK1.6_04
>> J2EE5
>>
>> サーバ:
>> Windows Server 2005
>> Sun Java System Application Server 9.1 01
>> JDK1.6_04
>>
>> さて、いまEJB3.0の勉強をかねて、まずは非常に簡単なサ
>> ンプルを
>> 作って動かそうとしてます。
>>
>> 最終的には、サーバのMS Accessのファイルを
>> JPA(Toplink)を使って
>> Webアプリで読み出すところまで行きたいと考えていますが、
>> まずはそれはおいておいて、下記のような状況が発生して困って
>> おります。
>>
>> 上記、サーバに下記のtest.jspをデプロイし、クライアントの
>> webブラウザで
>> 表示をしようとしているだけなのですが、SJSASのログを
>> 見ても、肝心の
>> ソース(例えば上記test.jsp)のどこに問題があるのか?
>> といったログを
>> 出してくれないので途方にくれています。
>>
>> <%--
>> Document : test
>> Created on : 2008/05/09, 15:54:47
>> Author : *******
>> --%>
>>
>> <%_at_page contentType="text/html" pageEncoding="windows-31j"%>
>>
>> <!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=windows-31j">
>> <title>JSPテストページ</title>
>> </head>
>> <body>
>> <h2>Hello World!</h2>
>> </body>
>> </html>
>>
>> NetBeansにてwebプロジェクトを作成し、SJSASにデ
>> プロイをしましたが、
>> そこまではOKのようです。
>>
>> 以下NBのメッセージです。
>> [172.x.x.x:4848_server] に C:\Documents and Settings\*****\My
>> Documents\javaプログラム\***Test1\dist\***Test1.ear
>> を配備します
>> プロジェクトのサーバーリソースの登録を開始します
>> サーバーリソースの登録を完了しました
>> deployment started : 0%
>> deployment finished : 100%
>> Deploying application in domain completed successfully
>> Trying to create reference for application in target server
>> completed
>> successfully
>> Trying to start application in target server completed successfully
>> Deployment of application ***Test1 completed successfully
>> Enable of ***Test1 in target server completed successfully
>> Enable of application in all targets completed successfully
>> All operations completed successfully
>> post-run-deploy:
>> run-deploy:
>> 構築成功 (合計時間: 6 秒)
>>
>> さて、肝心のtest.jspにSleipnirから以下のURL
>> にてアクセスをします。
>>
>> http://172.*.*.*:12080/***Test1-web/test.jsp
>>
>> すると、ブラウザには下記のメッセージが表示されます。
>>
>> 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
>>
>> ちなみに、おなじプロジェクトに確認用のindex.htmlとい
>> うのも入れていて、
>> それに対して、
>> http://172.*.*.*:12080/***Test1-web/index.html
>>
>> にてアクセスすると、ちゃんとブラウザ上に表示してくれるので、
>> URLやsun-web.xmlのコンテクストルートの設定は間違って
>> いないようです。
>>
>> さて、上記のStatus HTTP 500エラーが表示されるときのSJSAS
>> のログを
>> 見てみると、SEVEREとWARNINGという2つのエラー
>> が出ています。
>>
>> それらは下記のとおりです。
>>
>> ------------------------------------------------------------------------------------------
>> タイムスタンプ 2008/05/13 18:21:01.335
>> ログレベル WARNING
>> ロガー javax.enterprise.system.stream.err
>> 名前と値のペア
>> _ThreadID
>> =
>> 27
>> ;_ThreadName
>> =httpSSLWorkerThread-12080-0;_RequestID=7cd8fc83-5cda-47cc-
>> aff8-59d27bc98cda;
>> レコード番号 3750
>> メッセージ ID java.lang.NullPointerException at
>> org
>> .apache
>> .jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java
>> メッセージ全文 172) at
>> org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:342)
>> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:411) at
>> org
>> .apache
>> .jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
>> at
>> org
>> .apache
>> .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
>> 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)
>>
>> ------------------------------------------------------------------------------------------
>> タイムスタンプ 2008/05/13 18:53:10.730
>> ログレベル SEVERE
>> ロガー javax.enterprise.system.container.web
>> 名前と値のペア
>> _ThreadID
>> =
>> 28
>> ;_ThreadName
>> =httpSSLWorkerThread-12080-1;_RequestID=5d7e7365-8d6b-4d77-b871-
>> e4b852cad1bf;
>> レコード番号 3553
>> メッセージ ID StandardWrapperValve[jsp]
>> メッセージ全文 PWC1406: サーブレット jsp の
>> Servlet.service() が例外をスローしました
>> java.lang.NullPointerException at
>> org
>> .apache
>> .jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:
>> 172)
>> at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:
>> 342)
>> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:411) at
>> org
>> .apache
>> .jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
>> at
>> org
>> .apache
>> .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
>> 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)
>> ------------------------------------------------------------------------------------------
>>
>> test.jspの中身は単にhelloと書くだけのもので、セッ
>> ションビーンなどは
>> 使っていないため、普通に表示してくれてよさそうですが、どう
>> にも表示をしてくれず
>> また上記のエラー内容からは、当方不勉強のためその原因を読み
>> 取ることが出来ません。
>>
>> ここ2日ほど、エラーの文字列でぐぐって原因を調べていますが、
>> 該当するような情報にあたらず、手詰まりの状態です。
>>
>> 何が問題なのか?あるいはさらにどのようにすれば根本的な問題を
>> 見つけることが出来るのかご教授いただけると非常に助かります。
>>
>> よろしくお願いします。
>
>
>

***********************************************
> Yoshio Terada
    Solution Architect

    Sun Microsystems K.K.
    SBS Tower 15 Fl, 4-10-1 Yoga
    Setagaya-ku, Tokyo, 158-8633 Japan

    Phone: +81-3-5717-4697
    Fax : +81-3-5717-2582
    Mail : Yoshio.Terada_at_Sun.COM
    Blog : http://blogs.sun.com/yosshi
***********************************************