BusinessConnect EDI protocol throws a "Parser Schema error" when processing an outbound EDI-TEXT request

BusinessConnect EDI protocol throws a "Parser Schema error" when processing an outbound EDI-TEXT request

book

Article ID: KB0088394

calendar_today

Updated On:

Products Versions
TIBCO BusinessConnect EDI Protocol Powered by Instream -
Not Applicable -

Description

Resolution:
Description:
============
When submitting an EDI-TEXT transaction to BusinessConnect (BC) for transmission, BC fails to generate and send the EDI-TEXT document.  The error that appears in the audit logs is:

Analyzer Error

Category:  Rejecting
Severity:  Normal
Brief:  : Parser error - No matching parser schema was found. [ID=0x2010003]
Details:  The data starting at position 0 is not recognized as a valid data transmission.
ID:  0x2010003

Environment:
==========
BusinessConnect EDI Protocol 5.3 and 5.4
 
Cause:
=====
The EDI-TEXT transaction schema is different from the standard transaction schemas that are uploaded into the BusinessWorks (BW) project from the BC configuration store.  With all other transactions, the transaction schema can be directly populated in the BW Send Request task using standard BW mapping techniques when the "Parse XML" option is checked on the task.  With EDI-TEXT, the transaction must be packaged in a string that is passed via the "TextRawRequest" element only when the "Parse XML" box is checked.  You cannot use the transaction element that appears as an alternate schema in the Send Request input.
 
Resolution:
=========
To resolve the issue, do the following:

1.  Render your EDI-TEXT transaction into an XML string using "Render XML" task in BW, using the schema that is uploaded under the BCSchema/EDITEXT folder.  For example, if you have a transaction named "TEXT/MID1" you would reference "BCSchemas/EDITEXT/TEXT/MID1/Transaction-MID1"  

2.  Pass the rendered EDI-TEXT XML string from the previous step into another Render XML task, which renders the element "textRawRequest".  For the example above, you would reference "BCSchemas/EDITEXT/TEXT/MID1/textRawRequest".  Pass the string into the "stringData" input.

3.  You can then write this string to a file, and pass the file name to the Send Request task in the inputFile element, or you can uncheck the "Parse XML" checkbox on the Send Request task, and pass the textRawRequest string into the body/stringData field in the Send Request task.  

4.  Alternately, you can eliminate steps 2 and 3, and pass the string to the Send Request task directly.  In this case, check the "Parse XML" check box, and in the mapper, coerce the "textRawRequest | &lttransaction> " element to be a textRawRequest element. Map the output of the Render XML task in step1 into the stringdata field of this coerced element.

Issue/Introduction

BusinessConnect EDI protocol throws a "Parser Schema error" when processing an outbound EDI-TEXT request