WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化

メール・セッション用のデバッガーを使用可能にする

JavaMail アプリケーションをデバッグする必要がある場合は、 JavaMail デバッグ機能を使用することができます。JavaMail コンポーネントは、問題判別や調整に使用できる デバッグ情報を生成します。

このタスクについて

デバッガーを使用可能にすると、 WebSphere Application Server の JavaMail コンポーネントが起動し、以下のデータを stdout 出力ストリームに出力します。
  • メール・サーバーとの対話
  • メール・セッションのプロパティー
この出力ストリームは、特定のアプリケーション・サーバーの SystemOut.log ファイルにリダイレクトされます。

メール・デバッガーは、セッション単位で機能します。 JavaMail デバッグ機能を使用可能にするには、以下のようにします。

プロシージャー

  1. 管理コンソールを開きます。
  2. リソース」>「メール・プロバイダー」>「mail_session」>「メール・セッション」>「mail session」をクリックします。
  3. デバッグ」をクリックします。 ここでオンにしたセッションに対してのみ、デバッグが有効になります。
  4. 適用」または「OK」をクリックします。

以下の例は、JavaMail デバッグの出力例です。
DEBUG: not loading system providers in <java.home>/lib
DEBUG  not loading optional custom providers file: /META-INF/javamail.providers
DEBUG: successfully loaded default providers
 
DEBUG  Tables of loaded providers
DEBUG: Providers listed by Class Name:
{com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun
Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun
Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun
Microsystems, Inc]}
DEBUG:  Providers Listed By Protocol:
{imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems,
Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun
Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun
Microsystems, Inc]}
DEBUG: not loading optional address map file: /META-INF/javamail.address.map
*** In SessionFactory.getObjectInstance,
  The default SessionAuthenticator is based on:
   store_user = john_smith
   store_pw = abcdef
*** In SessionFactory.getObjectInstance, parameters in the new session:
    mail.store.protocol="imap"
    mail.transport.protocol="smtp"
    mail.imap.user="john_smith"
    mail.smtp.host="smtp.coldmail.com"
    mail.debug="true"
    ws.store.password="abcdef"
    mail.from="john_smith@coldmail.com"
    mail.smtp.class="com.sun.mail.smtp.SMTPTransport"
    mail.imap.class="com.sun.mail.imap.IMAPStore"
    mail.imap.host="coldmail.com"
DEBUG: mail.smtp.class property exists and points to com.sun.mail.smtp.SMTPTransport
DEBUG SMTP: useEhlo true, useAuth false
DEBUG: SMTPTransport trying to connect to host "smtp.coldmail.com", port 25

javax.mail.SendFailedException: Sending failed;
      nested exception is:
      javax.mail.MessagingException: Unknown SMTP host: smtp.coldmail.com;
       nested exception is
       java.net.UnknownHostException: smtp.coldmail.com
       at javax.mail.Transport.send0(Transport.java:219)
       at javax.mail.Transport.send(Transport.java:81)
       at ws.mailfvt.SendSaveTestCore.runAll(SendSaveTestCore.java:48)
       at testers.AnyTester.main(AnyTester.java:130)

この出力では、架空の名前 smtp.coldmail.com がサーバー名として指定されているため、Simple Mail Transfer Protocol (SMTP) サーバーに接続できないということが示されています。

以下のリストは、デバッガー出力の前のサンプルを読み取る際のヒントを提供します。
  • DEBUG で始まる行が JavaMail ランタイムによる出力であるのに対し、*** で始まる 2 行は、WebSphere 環境ランタイムによる出力です。
  • 最初の 2 行で、一部の構成ファイルがスキップされることを述べています。 JavaMail コンポーネントはランタイム時に、さまざまなロケーションから多数の構成ファイルをロードしようとします。 これらのファイルがすべて必要だというわけではありません。ただし、必要なファイルにアクセスできないと、 JavaMail コンポーネントは例外を作成します。 このサンプルでは例外はなく、3 行目で、デフォルト・プロバイダーがロードされることが述べられています。
  • Providers listed by Class Name または Providers Listed by Protocols に続く次の数行は、ロードされたプロトコル・プロバイダーを表しています。リストされている 3 つのプロバイダーは、 WebSphere に組み込まれたメール・プロバイダーの下で機能するデフォルトのプロトコル・プロバイダーです。これらは、それぞれプロトコル SMTP、IMAP、 および POP3 に対応しています。特別なプロトコル・プロバイダー (または JavaMail の用語ではサービス・プロバイダー) をインストールして、そのプロバイダーを現行メール・セッションで使用している場合は、そのプロバイダーもデフォルト・プロバイダーと一緒にここにリストされます。
  • *** で始まる 2 行と、その下の数行は、 WebSphere Application Server による出力で、現行メール・セッションの構成プロパティーを表しています。 これらのプロパティーは、管理コンソールでユーザーが設定する名前ではなく、 その内部名でリストされていますが、その両者の関係は容易に認識することができます。 例えば、プロパティー mail.store.protocol は、メール・セッション構成ページの「Store Access」セクションの「Protocol Name」プロパティーに相当します。
    注: リストされたプロパティーと値を検討し、それらが一致していることを確認してください。
  • 例外スタックの上の数行は、メッセージ送信の際の JavaMail アクティビティーを表しています。 最初に、JavaMail API が、トランスポート・プロトコルが SMTP に設定されていること、および プロバイダー com.sun.mail.smtp.SMTPTransport が存在することを確認します。 次に、SMTP で使用されるパラメーター (useEhlouseAuth) が表示されます。 最後に、メール・サーバー smtp.coldmail.com に接続しようとする SMTP プロバイダーが、ログに表示されます。
  • 次は例外スタックです。このデータは、指定されたメール・サーバーが存在しないか、または機能していないことを示します。
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/tmai_jdebug.html