Wow - I didn’t think to check back in this thread (since my problem was solved)
Anyway, Min - to further explain what I did wrong, then what I did to fix it…
In order to load a template, what I had been doing was:
pub.file:getFile
pub.web:stringToDocument
pub.web:documentToRecord
Mapping documentToRecord’s boundNode to a record called “EDITemplate”
I set up those steps as a service called “pcsGetTemplate” which took parameters to specify which file I wanted to load etc.
Then, to store the template into the template manager, I did the following:
pcsGetTemplate
wm.b2b.edi.templateMgr:putTemplate
The trick was to see what putTemplate was expecting, by calling
wm.b2b.edi.templateMgr:getTemplate and comparing the pipeline with the result of pcsGetTemplate.
After performing a “pcsGetTemplate” successfully, the pipeline contained a record called “EDITemplate” which contained a subrecord called “positional_flat_file_template” which is the top level in my template xml document above. wm.b2b.edi.templateMgr:getTemplate was just returning a template object, without the extra level.
To get it to work, I mapped EDITemplate.positional_flat_file_template to the templateObject parameter of wm.b2b.edi.templateMgr:putTemplate
This has allowed me to migrate my templates over to 6.0.1
A couple of warnings though - first, the Flat File Schema that is generated by the migration tool does not bring over ordinality (ie, it treats everything as a single occuring record) To fix that, go through your template xml file, looking for all occurences of “,” in the loops, and set the occurences of that record to “Unlimited”
Also, the schema will contain all the individual records at the top level. Basically, it doesn’t do a very good job of parsing out the meaning of the Loops section of the template.
There are other subtle differences that I’m slowly working my way through too.
Hope this helped.
#Integration-Server-and-ESB#webMethods#edi