Configuring EXCI

EXCI (CICS External Call Interface) requires configuration for both the server (the CICS region where programs will be invoked using EXCI) and the client (the program that will be invoking the CICS programs). The client can be a standalone .NET application, a program running under a JES region, code for an ASP.NET web site, or any other .NET program. Because the EXCI client uses Micro Focus classes, Enterprise Server for .NET must be installed on the client system.

EXCI configuration for the client

EXCI clients specify the region containing the program they are invoking using a short name called an APPLID, which is usually the same as the region name. The EXCI client class needs to convert the APPLID into an HTTP or CTG URL which it can use to invoke the EXCI web service on the target region. It uses a list of APPLIDs and associated URLs, and optionally a user exit program, which are specified in the program's application configuration (program.exe.config) file, web configuration (web.config) file, or for programs running under JES, the JES region configuration file (Region_name.config).

For a standalone program, put the EXCI configuration in the program's application configuration file. To use EXCI from applications running in an Enterprise Server for .NET JES region, put it in the region configuration file, either by editing the file directly in a text editor or using the Enterprise Server for .NET administration console, and restart the region. For clients running under IIS, such as ASP.NET pages, put the configuration in the web configuration file.

In any of those configuration files, EXCI client configuration takes the form of a MicroFocus.SEE.EXCI section, which contains one or more <applid> elements and optionally a <dfhxcurm> element which configures the EXCI user exit. You must add a section-group element for the section, if one does not already exist, and then the group itself. The applid element specifies a region name and the corresponding URL; the dhfxcurm element specifies the path to the user exit module, which if configured is invoked at various times by the EXCI client and can change the APPLID specified by the application (letting you redirect the EXCI call without changing the application code).

Here is an example EXCI client configuration.

<configuration>
  <configSections>
    <sectionGroup name="MicroFocus.SEE.EXCI">
      <section name="client"
       type="MicroFocus.SEE.Comms.ExciClientSection,MicroFocus.SEE.Comms.EXCI,Version=4.0.0.0,Culture=neutral,PublicKeyToken=0412c5e0b2aaa8f0" />
    </sectionGroup>
...
  <MicroFocus.SEE.EXCI>
    <client>
      <!--
        An applid element maps a CICS applid (region name) to the URL
        used to send EXCI requests to it. This example maps the ESDEMO
        applid to the default ES for .NET HTTP channel on the local system.
        There can be any number of applid elements.
      -->
      <applid region="ESDEMO" url="http://localhost:6265/rest/default/CPMI" />

      <!--
        The dfhxcurm element configures the path to a user-supplied
        assembly that implements the DFHXCURM EXCI user exit. This user
        exit can change the applid that the client program specifies in
        its request. Environment variables in the value are expanded
        using the .NET Framework's Environment::ExpandEnvironmentVariables
        method.
      -->
      <dfhxcurm file="%RexBin%/DFHXCURM.dll" />
    </client>
  </MicroFocus.SEE.EXCI>
...
</configuration>