imtkmake

Performs the functions of the Interface Mapping Toolkit.

Syntax:
imtkmake -defmap          service=service-name
                          src=program-name
                          type=service-type
                         [directives=Compiler-directives] 
                         [settings=properties-filename]
imtkmake -generate        service=service-name
                          type=service-type
                         [appserver=J2EE-application-server-name]
                         [bean=bean-name]
                         [classpath=pathname]
                         [ejbname=ejb-name]
                         [esruntime=esruntime-filename]
                         [exithandler=program-name]
                         [filename]...
                         [@filelistname]
                         [j2eeVersion={1.3|1.4}]
                         [jarname=jar-filename]
                         [namespace=service-namespace] 
                         [package=package-name]
                         [serverHost=host-name]
                         [serverPort=port-number]  
                         [session={stateless|stateful}] 
                         [settings=properties-filename]
                         [style={doclit|rpcenc}]
                         [transaction={application|container}]
                         [url=ip-address]
imtkmake -query
imtkmake -queryAppServerList
                         [j2eeVersion={1.3|1.4}]
imtkmake -deploy          carname=car-filename
                         [appdir=directory-name]
                         [password=secure-password]
                         [server=server-name,deployer-name]
                         [settings=properties-filename]
                         [username=secure-username]
imtkmake -showlog         deploydir=deployment-directory
imtkmake -genclient       service=service-name
                          type=service-type     
                         [appserver=J2EE-application-server-name]
                         [clientdir=directory-name]
                         [j2eeVersion={1.3|1.4}]
                         [namespace=service-namespace]
                         [style={doclit|rpcenc}]
                         [url=ip-address]
imtkmake -genclientwsdl   clientwsdl=wsdl-filename
                         [clientdir=directory-name]
                         [defaultstringsize=string-size]
                         [defaultarraysize=array-size]
imtkmake -help
Parameters:
-defmap Create default mappings for a service
-generate Generate the deployment package (.car file)
-query List the servers available for deployment
-queryAppServerList
List the J2EE application servers available for deployment
-deploy Deploy the package to an enterprise server
-showlog Display the contents of the deployment log (deploylog.txt file)
-genclient Generate a client from the service mappings, according to the specified type (see type), such as EJB or WebService
-genclientwsdl Generate a COBOL client from WSDL
-help Display information about imtkmake functions and parameters
appdir=directory-name The path of the application on the enterprise server. Specify this when you use -deploy but don't deploy the application because it is already deployed
appserver=J2EE-application-server-name This is the name and version of the J2EE application server for which an EJB is generated and to which an EJB is deployed. This defines the deployment descriptors that are generated.

This is mandatory when generating EJBs and EJB clients. In other words, mandatory when using the -generate or -genclient functions with type set to EJB. The values must be within quotes since they contain spaces. For example:

  • "JBoss 4.0"
  • "WebSphere 6.0"

Note that this directive must come after the other directives

See -queryAppServerList for how to list the available servers

bean=bean-name For EJB generation, the name of the bean to generate. Defaults to service-name
carname=car-filename The name of the .car file to deploy. This is not required when you generate and deploy on the same command line
classpath=pathname For EJB generation, the classpath of the J2EE implementation classes on the J2EE application server. This is case sensitive. This is different for each J2EE application server and is the path to the following jar files:
  • JBoss's jboss-j2ee.jar and servlet-api.jar
  • Oracle's ejb.jar, connector.jar and servlet.jar
  • WebSphere's j2ee.jar
  • WebLogic's weblogic.jar
clientdir=directory-name The directory in which to generate the client program. With the -genclientwsdl function, defaults to the WSDL file directory; otherwise defaults to the directory where the service is deployed
clientwsdl=wsdl-filename The name of the WSDL file to generate the client program from
defaultarraysize=array-size The default array size to use for unbounded arrays
defaultstringsize=string-size The default string size to use for unbounded strings
deploydir=deployment-address The URL of the deploylog.txt file. This URL is displayed by the -deploy function
directives=Compiler-directives The directives required for the program to compile correctly. Use a comma between directives
ejbname=ejb-name For EJB generation, the name of the EJB to generate. Defaults to service-nameEJB
esruntime=esruntime-filename The name of a file containing the run-time configuration settings to be applied when the deployed service is run. The file extension must be .rtc
exithandler=program-name For Web service generation, the name of a user exit program to handle the exit points in the MFRHSOAP request handler
@filelistname The name of a file containing a list of additional files that need to be included in the deployment (.car) file. Each filename must be on a new line
filename An additional file that needs to be included in the deployment (.car) file. You can specify multiple additional files
j2eeVersion={1.3|1.4}
The J2EE version used for generating EJBs and EJB clients (see queryAppServerList, genclient and generate). The default is 1.4
jarname=jar-filename For EJB generation, the name of the .jar file to create. Defaults to service-name.jar
namespace=service-namespace For Web service generation, EJB generation and client generation, the service namespace. For Web service generation and client generation defaults to http://tempuri.org/service-name. For EJB generation defaults to service-name
package=package-name For EJB generation, the name of the package of Java classes to contain the bean. This is case-sensitive. Defaults to com.mypackage.service-name
password=secure-password The password to enable a service interface to be deployed to a secure server. This is required only when MFDS is configured to require it
server=server-name,deployer-name The destination of the deployment. server-name is the enterprise server to which you want to deploy the service, and deployer-name is the name of a deployment service on that enterprise server. If you do not supply this parameter, the function lists the servers available for deployment and prompts you to choose one to deploy to
serverHost=host-name The name of the host machine that is running the enterprise server for the J2SE Java bean
serverPort=port-number The port number of the enterprise server listener for the J2SE Java bean
service=service-name The name of the service for mapping or generation
session={stateless|stateful} For EJB generation, the type of EJB to generate. Defaults to stateless
settings=properties-filename The name of a file containing the mapping properties for this service
src=program-name The program to perform default mapping on
style={doclit | rpcenc}
The style to use for WSDL generation. The default is doclit
transaction={application|container} Specifies whether the service is application-managed or transaction-managed. The default is application-managed
type=service-type The type of mapping to perform or type of client to generate (see defmap genclient and generate above), where service-type can be one of:
EJB A service accessed through an EJB
J2SE bean A service accessed through a J2SE Java bean
WebService A Web service
url=ip-address For Web service and client generation, the location of the service which is added to the WSDL document
username=secure-username The username to enable a service interface to be deployed to a secure server. This is required only when MFDS is configured to require it
Comments:

This command provides several functions. You must perform the functions -defmap, -generate and -deploy in that order against the same program. Before you use -deploy, you can use -query to obtain a list of servers available for deployment, and after you have run it, you can use -showlog to view the deployment log. If you want to generate a client for the service, use -genclient or -genclientwsdl after you have generated the service.

You can combine some functions on the same command line:

When you combine two or more functions on the same command line, you do not need to repeat parameters that are common.

You can combine the use of the command line functions with the use of the GUI Interface Mapping Toolkit. For example, you might create the mapping and customize it using the GUI Interface Mapping Toolkit. You could then use the command line to generate and deploy the service.

If you use the Net Express GUI Interface Mapping Toolkit to specify settings for the mapping, using the Mapping Properties dialog box, an XML file is created to hold the settings. You can specify this mapping properties file to the -generate function, in the 'settings=properties-filename' parameter. You can use the file in Net Express and Server Express. The mapping properties file contains all the information provided by the optional parameters to the -generate function. If you also provide any of those parameters, they override the settings in the mapping properties file.

When you deploy a service using command imtkmake -deploy, the deployment service you specify is looked for in the following places in the following order, and the first one that is found is used:

Examples:

The following command creates the default mapping for the program book.cbl:

imtkmake -defmap src=book.cbl service=wmapserv type=webservice

The following command generates a Web service for the mapping wmapserv:

imtkmake -generate service=wmapserv
                          type=webservice
                          exithandler=myhandler
                          namespace=http://corpuri.org/wmapserv

The following command generates an EJB for the mapping JMapServ:

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="WebLogic 9.0"

The following command creates the default mapping for the program book.cbl and generates the service wmapserv from it:

imtkmake -defmap src=book.cbl service=wmapserv type=webservice -generate

The following command generates a Web service for the mapping wmapserv and deploys it to the enterprise server ESDEMO, using its Deployer deployment service. The additional data file data-files-path/bookfile.dat is deployed:

imtkmake -generate service=wmapserv type=webservice
         -deploy server=ESDEMO,Deployer data-files-path/bookfile.dat

The following command deploys a Web service that has already been generated in wmapserv.car to the enterprise server ESDEMO, using its Deployer deployment service:

imtkmake -deploy carname=wmapserv.car server=ESDEMO,Deployer

This submit is a successful deployment, as indicated by the 202 return code, and the presence of the URL in the response message.

The following command displays the deploylog.txt file from the URL http://10.120.72.229:47704/uploads/cw_diYLq:

imtkmake -showlog deploydir=http://10.120.72.229:47704/uploads/cw_diYLq

The following command creates a COBOL client program for the service wmapserv using the mapping information:

imtkmake -genclient type=webservice service=wmapserv

The following command creates a COBOL client program for the service wmapserv using the service's WSDL file:

imtkmake -genclientwsdl clientwsdl=$PWD/wmapserv.wsdl clientdir=$PWD
See Also: