5.1 Custom schema and transform files

You can customize all Lifecycle API xsd and xsl schema and transform files by editing the web service configuration files. This allows you to override the schema and transform files provided with MyID with your own versions of those files; this means that you will not lose your schema and transform customizations when you update or upgrade your MyID installation.

To allow customizations to the schemas, add the following entries to MyIDEnroll web service web.config file:

Copy
<configSections>
  <section name="MyIDSettings" type="System.Configuration.DictionarySectionHandler"/>
</configSections>
<MyIDSettings configSource="myid.config" />

Important: The <configSections> node must be the first entry within the <configuration> node.

Once you have done this, you can add entries for schema and transform files to the myid.config file.

Add the key name and value name of the customized schema or transform file.

Note: All key names must be unique. For example:

Copy
<MyIDSettings>
  <add key="PIV" value="<Replacement schema for PivCardRequest.xsd>"></add>
  <add key="PIVRequestCard" value="<Replacement schema for PivCardRequest.xsd>"></add>
  <add key="PIVApplicantEnrol" value="<Replacement schema for PivApplicantUpdate.xsd>"></add>
  <add key="CMSRequestCard" value="<Replacement schema for CMSCardRequest.xsd>"></add>
  <add key="CMSUpdateCard" value="<Replacement schema for CMSUserUpdate.xsd>"></add>
  <add key="PIV2MyID" value="<Replacement transform for PIV2MyID.xsl>"></add>
  <add key="CMS2MyID" value="<Replacement transform for CMS2MyID.xsl>"></add>
  <add key="BOL2CMSImportResponse" value="<Replacement transform for BOL2CMSImportResponse.xsl>"></add>
  <add key="BOL2PIVImportResponse" value="<Replacement transform for BOL2PIVImportResponse.xsl>"></add>
</MyIDSettings>

Note: The names of the keys do not always match the names of the schema files. PIV and PIVRequestCard both override the PivCardRequest.xsd schema – do not specify both in the config file.

You can use the following keys:

Key

Replaces

Type

PIV

PivCardRequest

Schema

PIVRequestCard

PIVCardRequest

Schema

PIVApplicantEnrol

PivApplicantUpdate

Schema

CMSRequestCard

CMSCardRequest

Schema

CMSUpdateCard

CMSUserUpdate

Schema

PIV2MyID

PIV2MyID

Transform

CMS2MyID

CMS2MyID

Transform

BOL2CMSImportResponse

BOL2CMSImportResponse

Transform

BOL2PIVImportResponse

BOL2PIVImportResponse

Transform

Note that you cannot override the PivImportResponse.xsd and CMSImportResponse.xsd files; if you want to alter these schemas, you must replace the files directly. However, you can disable validation of the post-transform response data.

The response schema validates the output from MyID after it is transformed by BOL2CMSImportResponse.xsl or BOL2PIVImprotResponse.xsl.

Important: Do not include the .xsd or .xsl extensions for the replacement files in the web.config file.

5.1.1 Examples

For example, if you want to override the PivCardRequest.xsd schema with your own version, which is called MyPIVSchema.xsd, you would add the following:

Copy
<MyIDSettings>
  <add key="PIVRequestCard" value="MyPIVSchema"></add>
</MyIDSettings>

If you also wanted to replace the standard PIV transform with your own version called MyPIVTransform.xsl:

Copy
<MyIDSettings>
  <add key="PIVRequestCard" value="MyPIVSchema"></add>
  <add key="PIV2MyID" value="MyPIVTransform"></add>
</MyIDSettings>

5.1.2 Troubleshooting

If you experience problems when setting up custom transforms, you may want to enable logging for the Lifecycle API. See the Logging for the Lifecycle API section in the Configuring Logging guide.