COBOL プログラム ベースのサービス インターフェイスを作成してディプロイしたり、サービスにアクセスするクライアント アプリケーションを生成したりできます。
制約事項: 本トピックは、Enterprise Server 機能が有効な場合にのみ該当します。
構文:
imtkmake -defmap service=service-name
src=program-name
type=service-type
[directives=Compiler-directives]
[settings=properties-filename]
[transactionAttribute=attribute]
imtkmake -generate service=service-name
type=service-type
[allowcredentials={yes|no}]
[allowedorigin=uri]
[appdir=directory-name]
[appserver=J2EE-application-server-name]
[archivename=arch-name]
[basePath=base-path]
[bean=bean-name]
[classpath=pathname]
[ejbInterfaceType={remote|local}]
[ejbname=ejb-name]
[ejbversion=3]
[esruntime=esruntime-filename]
[exithandler=program-name]
[exposedheaders=header[,header[…]]]
[filename]...
[@filelistname]
[j2eeVersion={1.7|7}]
[jarname=jar-filename]
[javacpath=java-dir]
[namespace=service-namespace]
[package=package-name]
[sepsession={stateless|stateful}]
[serverHost=host-name]
[serverPort=port-number]
[session={stateless|stateful}]
[settings=properties-filename]
[style={doclit|rpcenc}]
[transaction={application|container}]
[transactional={yes|no}]
[url=ip-address]
[version=version]
imtkmake -query [username=secure-username]
[password=secure-password]
imtkmake -queryAppServerList
imtkmake -queryEJBDefaults
imtkmake -deploy type=service-type
[carname=car-filename]
[ejbversion=3]
[password=secure-password]
[server=server-name,deployer-name]
[settings=properties-filename]
[username=secure-username]
imtkmake -showlog deploydir=deployment-directory
[username=secure-username]
[password=secure-password]
imtkmake -genclient service=service-name
type=service-type
[appserver=J2EE-application-server-name]
[basePath=base-path]
[classpath=java-class-path]
[clientdir=directory-name]
[j2eeVersion={1.7|7}]
[namespace=service-namespace]
[serverHost=host-name]
[serverPort=port-number]
[style={doclit|rpcenc}]
[transactional={yes|no}]
[url=ip-address]
[version=version]
imtkmake -genclientwsdl clientwsdl=wsdl-filename
[bitmode={32|64}]
[charset={asci|ebcdic}]
[clientdir=directory-name]
[defaultstringsize=string-size]
[defaultarraysize=array-size]
imtkmake -genclientjson clientjson=json-filename
[bitmode={32|64}]
[charset={asci|ebcdic}]
[clientdir=directory-name]
[defaultstringsize=string-size]
[defaultarraysize=array-size]
imtkmake -validate
imtkmake -help
パラメーター:
- -defmap
- src= パラメーターで指定されている COBOL プログラムに基づき、デフォルト マッピングを使用してサービス インターフェイスを作成します。
- -generate
- 設定されているパラメーターに基づいてディプロイ ファイルを生成し、生成されたファイルが含まれる COBOL アーカイブ (.car) ファイルをエンタープライズ サーバーへのディプロイ用に生成します。
- -query
- ディプロイに使用できるエンタープライズ サーバーの一覧を表示します。
- -queryAppServerList
- デフォルトでは、使用できる J2EE 1.7 アプリケーション サーバーの一覧を示します。その他の J2EE バージョンでサポートされているアプリケーション サーバーを表示するには、j2eeversion パラメーターを指定してください。
- -queryEJBDefaults
- デフォルトの EJB 生成オプションの一覧を示します。
- -deploy
- -generate パラメーターを使用して作成された .car ファイルをエンタープライズ サーバーにディプロイします。servicename.deploy ディレクトリから、-deploy パラメーターを指定して imtkmake を実行してください。
- -showlog
- ディプロイ ログ (deploylog.txt ファイル) の内容を表示します。
- -genclient
- 指定したタイプ (EJB または Web サービスなど) に応じて、サービス インターフェイスからクライアントを生成します。
- -genclientwsdl
- WSDL から COBOL クライアントを生成します。
- -genclientjson
- JSON スキーマまたは OpenAPI (Swagger) から COBOL クライアントを生成します。
- -validate
- サービス インターフェイスを検証します。
- -help
- imtkmake の関数およびパラメーターに関する情報を表示します。
- allowcredentials={yes|no}
- ユーザー資格情報が要求に含まれている場合に応答を公開できるかどうかを指定します。
- allowedorigin=uri
- 返されたリソースへのアクセスを許可された URI。
- archivename=arch-name
- 出力アーカイブ ファイルの完全なファイル名。.jar、.war、または .ear ファイルを指定できます。
- appdir=directory-name
- エンタープライズ サーバーで実行されているアプリケーションのアプリケーション ファイルへのパス。
- appserver=J2EE-application-server-name
- EJB が生成され、ディプロイされる J2EE アプリケーション サーバーの名前およびバージョン。これにより、生成されるディプロイメント記述子が定義されます。
EJB および EJB クライアントを生成する場合は、このパラメーターは必須です。つまり、-generate または -genclient 関数を、タイプを EJB に設定して使用する場合に、このパラメーターを指定する必要があります。値にはスペースが含まれるため、引用符で囲む必要があります。次に例を示します。
- "JBoss EAP 7.2"
- "WebSphere 9.0"
このパラメーターは、他のパラメーターの後に指定する必要があります。
使用できるサーバーの一覧を表示する方法については、-queryAppServerList を参照してください。
- basePath=base-path
- REST サービスの場合は、サービスの URI で使用されているベース パス。
- bean=bean-name
- EJB 生成で、生成される Bean の名前。デフォルトは service-name です。
- bitmode={32|64}
- 生成されたクライアントのビット モード。
- carname=car-filename
- ディプロイする .car ファイルのパスおよび名前。デフォルトでは、このファイルは servicename.car という名前で、servicename.deploy ディレクトリに格納されています。 carname= は、同じコマンド ラインで生成およびディプロイを行う場合は不要です。
- charset={asci|ebcdic}
- 生成されたクライアントの文字セット。
- classpath=java-class-path
- J2EE アプリケーション サーバー上の J2EE 実装クラスのフル パス。これは、J2EE アプリケーション サーバーごとに異なり、それぞれ次の .jar ファイルへのパスです。
Notes:
- java-class-path では大文字と小文字が区別されます。
- CLASSPATH プロパティは、アプリケーション サーバーが必要な J2EE 実装クラス ファイルをポイントするようにします。アプリケーション サーバーおよびそれらに必要な J2EE 実装クラス ファイルのリストについては、「アプリケーション サーバー J2EE 実装クラス」を参照してください。
- clientdir=directory-name
- クライアント プログラムを生成するディレクトリ。-genclientwsdl または -genclientjson 関数を使用する場合は、WSDL ファイルまたは JSON スキーマ ファイルまたは OpenAPI (Swagger) ファイルのディレクトリがデフォルトになります。それ以外の場合は、servicename.deploy ディレクトリがデフォルトになります。
- clientjson=json-filename
- REST サービスの場合は、クライアント プログラムの生成に使用する JSON スキーマ ファイルまたは OpenAPI (Swagger) ファイルの名前。
- clientwsdl=wsdl-filename
- クライアント プログラムの生成に使用する WSDL ファイルの名前。
- defaultarraysize=array-size
- バインドされていない配列に使用するデフォルトの配列サイズ。
- defaultstringsize=string-size
- バインドされていない文字列に使用するデフォルトの文字列サイズ。
- deploydir=deployment-address
- deploylog.txt ファイルの URL。この URL は、-deploy 関数で表示できます。
- directives=Compiler-directives
- プログラムを正しくコンパイルするために必要な指令。各指令の間はカンマで区切ります。
- ejbInterfaceType={remote|local}
- EJB が実行されるサーバーのタイプ (ローカルまたはリモート)。
- ejbname=ejb-name
- EJB 生成で、生成される EJB の名前。デフォルトは、service-nameEJB です。
- ejbversion=3
- EJB バージョン 3 のサポートを有効にします。
- esruntime=esruntime-filename
- ディプロイされたサービスが実行される際に適用される、ランタイム構成設定が含まれるファイルの名前。ファイルの拡張子は、.rtc にする必要があります。
- exithandler=program-name
- Web サービス生成で、MFRHSOAP 要求ハンドラー内の出口ポイントを処理するユーザー出口プログラムの名前。
- exposedheaders=header [,header[…]]
- ブラウザーがアクセスを許可されているカスタム ヘッダー。
- @filelistname
- .car ファイルにインクルードする必要のある追加ファイルのリストを含むファイルの名前。ファイル名は 1 行に 1 つずつにする必要があります。
- filename
- .car ファイルにインクルードする必要のある追加ファイル。複数のファイルを指定できます。
- j2eeVersion={1.7|7}
- J2EE のバージョン。波かっこ ({}) で囲まれたペアのオプションは、どちらを指定しても同じです。
- jarname=jar-filename
- EJB 生成で、生成される .jar ファイルの名前。デフォルトは、service-name.jar です。
- javacpath=java-dir
- javac.exe ファイルへのパス。
- namespace=service-namespace
- Web サービス生成、EJB 生成、およびクライアント生成での、サービスのネームスペース。Web サービス生成およびクライアント生成では、デフォルトは http://tempuri.org/service-name です。EJB 生成では、デフォルトは service-name です。
- package=package-name
- EJB 生成での、Bean を含む Java クラスのパッケージ名。大文字と小文字は区別されます。デフォルトは com.mypackage.service-name です。
- password=secure-password
- セキュア サーバーとの通信を可能にするパスワード。このユーザー名は、MFDS がユーザー名を必要とするように構成されている場合のみ必要です。
- sepsession={stateless|stateful}
- 関連するサービス実行プロセス (Service Execution Process; SEP) 属性の設定。SEP 属性は、transactional=yes の場合のみ意味を持ちます。
- server=server-name,deployer-name
- ディプロイ ファイルの宛先。server-name はサービスをディプロイするエンタープライズ サーバー、deployer-name はそのエンタープライズ サーバー上のディプロイ サービスの名前です。このパラメーターを指定しなかった場合、関数によりディプロイに使用できるサーバーの一覧が表示され、いずれか 1 つを選択するように促すプロンプトが表示されます。
- serverHost=host-name
- J2SE Java Bean サービスの場合、エンタープライズ サーバーが動作しているホスト マシン名。
- serverPort=port-number
- J2SE Java Bean サービスの場合、エンタープライズ サーバー リスナーのポート番号。
- service=service-name
- マップする、または生成するサービスの名前。
- session={stateless|stateful}
- EJB 生成で、生成される EJB のタイプ。デフォルトは stateless です。
- settings=properties-filename
- このサービス インターフェイスの設定プロパティが含まれるファイルの名前。
- src=program-name
- デフォルト マッピングの作成に使用するプログラム。
- style={doclit | rpcenc}
- WSDL 生成に使用するスタイル。デフォルトは doclit です。
- transaction={application|container}
- サービスがアプリケーション管理かトランザクション管理かを指定します。デフォルトは application です。
- transactional={yes|no}
- EJB 生成で、EJB サービスをトランザクション コンテキストで実行するかどうかを設定します。yes に設定した場合、session=stateful がデフォルトになります。
- transactionAttribute=attribute
- EJB のデフォルト マッピングに使用されるトランザクション属性。値は、次のいずれかになります。
- notSupported
- mandatory
- never
- required
- requiresNew
- type=service-type
- 実行するマッピング タイプまたは生成するクライアント タイプ (上述の defmap、genclient、および generate を参照)。service-type には、次のいずれか 1 つを指定できます。
- EJB
- J2SEbean
- WebService
- REST
- url=ip-address
- Web サービス生成およびクライアント生成での、サービスの IP アドレス。
- username=secure-username
- セキュア サーバーとの通信を可能にするユーザー名。このユーザー名は、MFDS がユーザー名を必要とするように構成されている場合のみ必要です。
- version=version
- REST サービスの場合は、サービスの URI で使用されているサービスのバージョン。
例:
次のコマンドでは、プログラム book.cbl のデフォルト マッピングでサービス インターフェイスが作成されます。
imtkmake -defmap src=book.cbl service=wmapserv
type=webservice
次のコマンドでは、wmapserv サービス インターフェイスの Web サービスが生成されます。
imtkmake -generate service=wmapserv
type=webservice
exithandler=myhandler
namespace=http://corpuri.org/wmapserv
次のコマンドでは、JMapServ サービス インターフェイスの EJB が生成されます。
imtkmake -generate service=JMapServ
type=ejb
bean=JMap
classpath=/usr/java131/lib/j2ee.jar
ejbname=JMapEJB
esruntime=jmapconf.rtc
jarname=JMap.jar
package=com.corp.jmap
session=stateful
appserver="WebSphere 9.0"
次のコマンドでは、wmapserv サービス インターフェイスの Web サービスが生成され、エンタープライズ サーバー ESDEMO にディプロイされます。追加のデータ ファイル data-files-path\bookfile.dat(UNIX)data-files-path/bookfile.dat(Windows) または もディプロイされます。
Windows プラットフォームの場合:
imtkmake -generate service=wmapserv type=webservice
-deploy server=ESDEMO,Deployer data-files-path\bookfile.dat
UNIX プラットフォームの場合:
imtkmake -generate service=wmapserv type=webservice
-deploy server=ESDEMO,Deployer data-files-path/bookfile.dat
次のコマンドでは、wmapserv.car で生成済みの Web サービスが、エンタープライズ サーバー ESDEMO にディプロイされます。
imtkmake -deploy carname=wmapserv.car
server=ESDEMO,Deployer
このサブミットによるディプロイが成功したかどうかは、202 戻りコード、および応答メッセージ内に URL が存在しているかどうかでわかります。
次のコマンドでは、URL http://10.120.72.229:47704/uploads/cw_diYLq から deploylog.txt ファイルが表示されます。
imtkmake -showlog deploydir=http://10.120.72.229:47704/uploads/cw_diYLq
次のコマンドでは、サービス wmapserv の COBOL クライアント プログラムが作成されます。
imtkmake -genclient type=webservice
service=wmapserv
次のコマンドでは、ベース パス /servicesApp/ およびバージョン 1.0 を使用して、REST サービス service1 の COBOL クライアント プログラムが作成されます。
imtkmake -genclient service=service1 type=rest
url=http://localhost:9003
basePath=/servicesApp/
version=1.0
次のコマンドでは、サービスの WSDL ファイルを使用して、サービス wmapserv の COBOL クライアント プログラムが作成されます。
Windows プラットフォームの場合:
imtkmake -genclientwsdl clientwsdl=wmapserv.wsdl
UNIX プラットフォームの場合:
imtkmake -genclientwsdl clientwsdl=$PWD/wmapserv.wsdl
clientdir=$PWD
次のコマンドでは、requiresNew トランザクション属性を使用するデフォルト マッピングで EJB サービス インターフェイスが作成されます。
imtkmake -defmap type=ejb
src=calculator.cbl
service=service13.xml
transactionAttribute=requiresNew
次のコマンドでは、ベース パス /servicesApp/ およびバージョン 1.0 を使用して、REST サービス service1 に必要なファイルが生成されます。
imtkmake -generate type=rest
url=http://localhost:9003
basePath=/servicesApp/
version=1.0
service=service1
次のコマンドでは、JSON スキーマ ファイルを使用して、wmapserv サービスの COBOL クライアント プログラムが作成されます。
imtkmake -genclientjson clientjson=wmapserv.json
説明: