Natural Web サーバーエクステンション - 初期化ファイル

このセクションでは、次のトピックについて説明します。


全般的な情報

Natural Web サーバーエクステンションでは、初期化ファイルのランタイムパラメータを処理します。 実行可能ファイルは、現在の作業ディレクトリにある、同名で拡張子が .ini である初期化ファイルを探します。

すべての変数は WWW で使用されるため、変数名の大文字と小文字は区別されません。 変数は最大 72 文字です。空白は文字として認識されるため、パラメータを複数回指定できます。

RPC パラメータ

これらのパラメータは、EntireX RPC との通信に必要です。

パラメータ 説明
RPC_CLASS_NAME

使用されるサービスのクラスを定義します。
常に RPC を使用します。

RPC_ETB_ID_NAME 呼び出される EntireX Broker の名前です。
RPC_NO_LOGON URL に指定されたライブラリにログオンします。 デフォルトは 0 です。
RPC_SERVER_NAME 呼び出される Broker サービスの名前です。
RPC_SERVICE_NAME

呼び出されるサービスを定義します。
常に CALLNAT を使用します。

RPC_TIME_OUT

呼び出しのタイムアウトを定義します。
デフォルトは 7000 です。

RPC_USER_ID

RPC で使用されるユーザー ID です。
指定しなかった場合は、以下のいずれかが使用されます。

  • NWW_USER_ID

  • REMOTE_USERREMOTE_USER が 1 に設定されている場合)

RPC_PASSWORD

RPC で使用されるユーザーパスワードです。
指定しなかった場合は、NWW_PASSWORD が使用されます。

RPC_SSL_PARAMETER SSL を使用する RPC の接続文字列です。

PAL パラメータ

これらのパラメータは、SPoD(PAL)インターフェイスとの通信に必要です。

パラメータ 説明
PAL_SERVER_NODE 呼び出される PAL サーバーノードの名前です。
PAL_SERVER_PORT 呼び出される PAL サーバーポートの番号です。
PAL_SESSION_PARAMETER サーバーにダイナミックパラメータが必要な場合は、一重引用符(' ')を使用してセッションパラメータを指定します。

DCOM パラメータ

このパラメータは、DCOM との通信に必要です(Windows プラットフォームのみ)。

パラメータ 説明
DCOM_SERVER_NAME

呼び出される DCOM サーバーの名前です。
同じコンピュータで Natural サーバーを実行していない場合のみ指定します。

Natural Web サーバーエクステンション設定

このグループのパラメータは、Natural Web サーバーエクステンションの設定を定義します。

パラメータ 説明
ECHO_ENVIRONMENT このパラメータは、デフォルトエラーページを使用する場合にのみ役立ちます。 このパラメータを 1(ユーザー定義エラーページの $NWW_ENVIRONMENT と同じ値)に設定すると、すべての環境変数がコメント行としてエラーページに書き込まれます。
ERROR_LOG_FILE

エラーログ用のファイルを定義します。 このパラメータを指定しなかった場合は、ログが無効になります。
各ログエントリは、レイアウトが同一であり、CGI 文字列を検索することでエラーログファイル内で簡単に見つけることができます。

ログエントリの例:
[Thu Jun 28 10:51:19 2005] nwwcgi.exe 04.02.05 Win32: processing of /cgi-bin/nwwcgi.exe failed for Lib:{library} Sub:{subprogram} Path:{path_info}, for natweb.software-ag.de reason NWW0001 No subprogram and library specified.

ERROR_STDERR

このパラメータを 1 に設定すると、すべてのエラーが stderr 経由で記録されます。 ログファイルの場所は、使用する HTTP サーバーとパラメータ化の方法によって異なります。 ERROR_LOG_FILE も参照してください。
一部の HTTP サーバーでは、stderr の使用をサポートしていません。

ERROR_TEMPLATE エラーテンプレートファイルを定義します。 このパラメータを指定しなかった場合は、デフォルトエラーページが生成されます。 後述の「エラーテンプレート」を参照してください。

NWW_INOUT_FORMAT
NWW_INOUT_LENGTH

注意:
これらのパラメータは SYSWEB でのみ使用します。

転送データ量を定義します。 これらのパラメータは、IDL ファイルのパラメータ Out_Page の次元を定義します。

使用される IDL ファイル:

DEFINE DATA PARAMETER
1 Version-Nr (A15) In
1 Log-Time (A30) In
1 Out_Page (A RPC_INOUT_FORMAT 1:RPC_INOUT_LENGTH) In Out
1 Out_Page_Count(I04) In Out
1 Result (I04) Out END-DEFINE

SYSWEB3 インターフェイスのデフォルト値は以下のとおりです。

  • NWW_INOUT_FORMAT=0

  • NWW_INOUT_LENGTH=0

NWW_PASSWORD ユーザー ID のパスワードを定義します。
NWW_PATH_INFO Natural Web サーバーエクステンションをスタンドアロンモード(テスト環境)でテストするには、このパラメータにライブラリとプログラム名を指定します。 Natural Web サーバーエクステンションを通常モード(HTTP サーバー)で使用する場合は、このパラメータを無効にする必要があります。

例:
NWW_PATH_INFO=/syshtml/nat-env

NWW_PATHINFO_PREFIX このパラメータは、ISAPI インターフェイスを使用する場合にのみ使用できます。 このインターフェイスがアプリケーションマッピング(ディレクトリ nww と拡張子 .nww など)として定義されている場合、PATH_INFO 変数の値はディレクトリとファイル名が先頭に付加された URL になります(例:/nww/my.nww/sysweb/nat-env)。 この接頭辞(斜体で示した部分)は削除する必要があります。 このパラメータを使用して、指定した接頭辞を削除できます。

例:
NWW_PATHINFO_PREFIX=/nww/my.nww

NWW_OUT_CSS

文字列を特定の文字に置換します。

文字列 文字
	 -->|(タブ)
@ @
[ [
\ \
] ]
{ {
| /
} }

この設定は、カスケードスタイルシートが使用されていて、EBCDIC コードを使用するコンピュータに RPC サーバーが配置されている場合に便利です。 デフォルトは 0 です。 1 を使用すると有効になります。

NWW_OUT_CSS_TRANSLATE

指定された文字を対応する 16 進値に置換します。
(ASCII のデフォルト値)

文字 16 進値
-->|(タブ) 09
@ 40
[ 5B
\ 5C
] 5D
{ 7B
| 7C
} 7D

英語 EBCDIC(コードページ 37)の例:

#(tab), @, [, \, ], {, |, }
NWW_OUT_CSS_TRANSLATE=05,7C,AD,61,BD,C0,4F, D0

NWW_USER_ID RPC で使用されるユーザー ID です。
NWW_RETRY

このパラメータは、NAT3009 エラー(トランザクションの中止)が発生した場合に、プログラムを再度呼び出す回数を定義します。
デフォルトは 3 です。

INI_RELOAD 最初の呼び出し中に初期化ファイルを 1 回だけロードします。 CGI インターフェイス用ではありません。 デフォルトは 1 です。
REMOVE_USER_DOMAIN NT 上の IIS サーバーは、REMOTE_USER として、ユーザーが属するドメインの名前が先頭に付加されたユーザー名を渡します。 Natural が処理できるユーザー名は最大 8 文字です。 USE_REMOTE_USER を 1 に設定し、REMOVE_USER_DOMAIN も 1 に設定した場合は、指定した REMOTE_USER 名の使用ドメイン名が削除されます。 つまり、最後の "/" 以降の情報がユーザー名として Natural に渡されます。
TRACE_FILE ファイル名を指定した場合は、HTTP サーバーに返された最後のページがこのファイルに保存されます。 このパラメータを指定した場合は、出力は書き込まれません。
USE_REMOTE_USER RPC_USER_IDREMOTE_USER に置き換えます。 1 に設定すると有効になります。

データ転送設定

注意:
このグループのパラメータは、SYSWEB3 でのみ使用できます。

このグループのパラメータは、Natural サーバーへのデータ転送を定義します。

パラメータ 説明
SETMIMETYPE

このパラメータは、受信 MIME タイプの転送タイプを定義します。
定義には、MIME タイプの名前と適切な転送タイプが含まれます。
MIME タイプには、1 文字以上の任意の文字を表すワイルドカードとしてアスタリスクを含めることができます。 アプリケーションは常に、最初に一致した MIME タイプを使用します。

以下のいずれかの転送タイプを指定できます。
binary
alpha

例:

SETMIMETYPE=text/*;*charset*=*utf-16 binary
SETMIMETYPE=text/* alpha

SETMIMETYPE=image/svg alpha
SETMIMETYPE=image/* binary

SETMIMETYPE=multipart/form-data* binary
SETMIMETYPE=* alpha

注意:
SETMIMETYPE=* alpha は、すべての不明な MIME タイプ用のデフォルト設定を定義します。設定しなかった場合は、alpha が使用されます。

HTTP サーバー変数

呼び出したプログラムに転送されるすべての HTTP サーバー変数を指定する必要があります。 これを行うには、変数 ENV に、転送する変数の名前を指定します。 ENV 変数は複数回指定できます。

有効な変数の一部を示します。

ENV=REMOTE_HOST
ENV=REMOTE_ADDR
ENV=SCRIPT_NAME
ENV=HTTP_REFERER
ENV=HTTP_HOST
ENV=HTTP_COOKIE

変数の詳細については、http://hoohoo.ncsa.uiuc.edu/cgi/env.html を参照してください。

追加の変数

Natural Web サーバーエクステンションでは、呼び出したプログラムに追加の変数を転送できます。 これを行うには、変数 SETENV に、転送する変数の名前、:=、および値を指定します。 SETENV 変数は複数回指定できます。

例:
SETENV=PICTURES:=/pictures

エラーテンプレート

デフォルトエラーレポート

パラメータ ERROR TEMPLATE が指定されていない場合は、デフォルトが使用されます。

以下にデフォルトエラーレポートの例を示します。

nwwcgi.exe Error Report
Natural Web Interface NWW5100c Win32
The following error has been logged in the error log file:  
/cgi-bin/nwwcgi.exe:

processing of subprogram/method NAT-INFO
at library/class SYSWEB failed.

reason:
NWW0011 ERX error 80010014 occurred.
  
  Severity    = Error
  Facility    = 65536
  Returncode  = 20
  Subfacility = 3
  Location    = 0
  
  Message:
  ERX_E_SERVICE_NOT_AVAILABLE - ETB error code 02150148
for: pcnatweb.software-ag.de:80
path: /sysweb/nat-info
NWW Error - Fri Mar 15 10:20:28 2005 Natural

独自のエラーテンプレートの指定

独自のエラーテンプレートを指定することもできます。 基本的に、エラーテンプレートは通常の戻りページです。 他の戻りページと同様に、コンテンツタイプを設定する必要があります。 唯一の追加事項は、変数の置き換えです。 このことを行うには、先頭が $ 記号である環境変数を指定します。 下記の「エラーテンプレートの例」を参照してください。

エラーテンプレートには、次の環境変数を追加できます。

環境変数 説明
NWW_LOGTIME エラーが記録される日時(ERROR_LOG_FILE が指定されている場合)。
NWW_VERSION Natural Web サーバーエクステンションのバージョン番号。
NWW_RUN 呼び出されたプログラムの名前。
NWW_ERROR 発生したエラーの件数。

NWW_LIBRARY
NWW_CLASS

呼び出されたライブラリ/クラスの名前。

NWW_SUBPROGRAM
NWW_METHOD

呼び出されたサブプログラム/メソッドの名前。
NWW_ENVIRONMENT すべての環境変数がコメント行としてエラーページに書き込まれます。

エラーテンプレートの例

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 3.2//EN'>
<HTML>
<HEAD>
 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <TITLE>$NWW_RUN Error Report - $NWW_LOGTIME</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<TABLE border="0" width="100%" cellspacing="0" cellpadding="5">
 <TR bgcolor="#CCFFCC">
   <TD><H2 align="center">
        $NWW_RUN Error Report
     </H2>
     <P align="center">
     <I><SMALL>Natural Web Server Extension Interface: $NWW_VERSION</SMALL></I></TD>
 </TR>
 <TR>
   <TD><B>The following error has been logged in the error log file:</B></TD>
 </TR>
</TABLE>
<TABLE border="0" width="100%" cellspacing="15" cellpadding="0">
 <TR valign="top">
   <TD align="right"><B>$SCRIPT_NAME:</B></TD>
   <TD><TT>processing of subprogram/method <B>$RPC_SUBPROGRAM</B><BR>
     at library/class <B>$RPC_LIBRARY</B> failed.</TT></TD>
 </TR>
 <TR valign="top">
   <TD align="right"><B>reason:</B></TD>
   <TD><PRE>$RPC_ERROR
</PRE>
   </TD>
 </TR>
 <TR valign="top">
   <TD align="right"><B>for:</B></TD>
   <TD><TT>$SERVER_NAME:$SERVER_PORT</TT></TD>
 </TR>
 <TR valign="top">
   <TD align="right"><B>path:</B></TD>
   <TD><TT>$PATH_INFO</TT></TD>
 </TR>
</TABLE>
<TABLE border="0" width="100%" cellspacing="0" cellpadding="5">
 <TR bgcolor="#CCFFCC">
   <TD>NWW Error Template - $NWW_LOGTIME</TD>
   <TD align="right">Natural</TD>
 </TR>
</TABLE>
<P>
$NWW_ENVIRONMENT
</BODY></HTML>