RSS

AIF Document Schema Caching Issue – “Invalid Document Schema”

07 Aug

Scenario: I created a ledger journal service that create general ledger journal by using Inbound Transform to transform a CSV file to XML.

  1. I generated a schema for my document for my service. (Note that i have additional custom fields in ledgerjournaltrans but then later i removed few fields and reupdated my document).
  2. i created a C# .NET application to transform the document using the schema above

When i started testing, i kept getting error with the schema for a field that i no longer used. If i dropped a XML file directly to my INBOUND folder, it worked fine but if i dropped it as a CSV and using Transform, it kept saying “Invalid document schema”. Note that the XML document is created by the same Transform class. I am thinking it could be some schema cache issue with the custom service.

Solution 1: The AIFRUNTIMECACHE table will hold cached details for the AIF document classes.  You should be able to clear this table if you believe it to be a caching issue.  In fact you can disable cache entire if you’re working in a DEV environment, if it’s production keeping cache enabled is recommended.  You can use the steps below to disable AIF runtime caching.

1. Open the AOT and expand form

2. Find the AIFGlobalSettings form and open it

3. Disable the caching check box

image

Solution 2: Rewrite your transform class with different class name and reload the assembly through Manage Transform

Advertisements
 
Leave a comment

Posted by on August 7, 2014 in Development

 

Tags: , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: