JSMProxy は、JSMDirect の HTTP リバース・プロキシー拡張です。
JSMProxy cgi-bin プログラムは、フロントエンド HTTP Web サーバーに常駐し、HTTP クライアント・ブラウザーとバックエンドの JSMDirect cgi-bin プログラム間でデータを転送します。
JSMProxy を利用することで、1 つのエントリー・ポイントを定義して、数多くの異なるリモート・サーバーにリダイレクトできるため、非常に便利です。
JSMProxy プログラムは、HTTP プロトコル・プロパティ Content-Length を含んで POST されたコンテンツを受け入れます。IBM i Apache サーバー上で実行されている IBMi JSMProxy プログラムは、チャンク転送エンコーディングされたコンテンツの受け入れも可能です。
注:チャンク転送エンコーディングは Windows のプラットフォームではサポートされていません。
JSMProxy クエリ文字列は、元のキーワード形式か、もしくは業界基準の名前-値のペアでも構いません。名前サービスは予約されています。
JSMProxyのバージョン番号を表示するには、引数を指定せずにプログラムを呼び出します。HTMLのバージョン情報を示すページが返されます。
http://mycompany/cgi-bin/jsmproxy
http://mycompany/cgi-bin/jsmproxy.exe
JSMProxyを使用する場合、LANSAファンクションを以下のように呼び出すことができます。
http://mycompany/cgi-bin/jsmproxy?appname
http://mycompany/cgi-bin/jsmproxy?service=appname
http://mycompany/cgi-bin/jsmproxy.exe?appname
http://mycompany/cgi-bin/jsmproxy.exe?service=appname
例えば、ORDERENTRYアプリケーションを実行するとします。
http://mycompany/cgi-bin/jsmproxy?orderentry
http://mycompany/cgi-bin/jsmproxy?service=orderentry
http://mycompany/cgi-bin/jsmproxy.exe?orderentry
http://mycompany/cgi-bin/jsmproxy.exe?service=orderentry
JSMProxy プログラムは、リモート・サーバー内で appname を使って検索します。
JSMProxyには、インストールされたHTTPサーバーが必要です。
各HTTPプロトコル・ヘッダーの値が4096バイトを超えないようにチェックが行われます。