"Envelope functionality not supported" Error in pipeline processing
Starting to figuring out EDIFACT messages processing.
This is what i've done.
Imported into my project the EFACT_D96B_CUSDEC.xsd as included in R2 beta2
Created a very simple orchestration, that has a file receive port with an EDI pipeline (a pipeline with an EDI disassembler)
As soon as i put a file in the folder, the message is immediately suspended (aparently on the pipeline), i get the following error on the event viewer.
I know the message is a valide CUSDEC message (some parts of the error message have been cleansed).
Error encountered during parsing. The Edifact interchange with id '070301090801', with sender id 'XXXXXXX', receiver id 'YYYYYY' had the following errors:
Error: 1 (Miscellaneous error)
47: Envelope functionality not supported
Error: 2 (Field level error)
SegmentID: UNB
Position in TS: 1
Data Element ID: UNB6.1
Position in Segment: 7
Position in Field: 1
Data Value:
37: Invalid character(s) found in data element
Error: 3 (Field level error)
SegmentID: UNB
Position in TS: 1
Data Element ID: UNB8
Position in Segment: 8
Data Value: pdx45549.b01
39: Data element too long
Error: 4 (Field level error)
SegmentID: UNB
Position in TS: 1
Data Element ID: UNB11
Position in Segment: 11
Data Value: PT999999999
37: Invalid character(s) found in data element
Error: 5 (Field level error)
SegmentID: UNB
Position in TS: 1
Data Element ID:
Position in Segment: 6
Data Value:
12: Invalid value in data element
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Any clues?
Thanks.
Here it goes.
UNB+UNOC:3+XXXXXXXXXXXXX:14+WWWWWWWWWWWWW:14+QQQQQQ:0908+070301090801+ +AAAAAA+pdx45549.b01+++PTBBBBBBBBB'
I've sanitized the data, but keep the field's lenghts. If you need the unsanitized data i would be more confortable emailing it, directly to you.
Is it possible, to get trace events from the EDI pipeline? this would probably help diagnose things.
Thanks.
No mistake on the transcription, the UNC is as quoted (minus the sanitization).
You are quite right. Been reading the specification it this violates the specificatio. Been checking all the messages that have flowed the production (the system R2 is going to replace) and all messages of this type are like these. Very strane, will have to check with my client. This system is in production for quite a few years.
I guess this leads me with the next (related) question. How can i generate the return message with the error?
Should i subscribe for suspended messages on the receiving pipeline? or is there a better way to acommodate this?
Thanks for your help
What do you mean by the return message? Are you talking about the Technical and/or Functional Ack?
If so, you can set this option at both party and global level. To do so, go to "EDIFACT/Party as Interchange Sender/ACK Generation and Validation" and check the "Generate Technical ACK" or "Generate Functional ACK".
Once you have done so, you can subscribe to the ACK by using the filter BTS.MessageType == http://schemas.microsoft.com/Edi/Edifact#Efact_Contrl_Root and EDI.UNB2.1 to be equal to the payload's value.
Hope this helps
Mohsin Kalam
Thanks for the tip.
I'm not sure if this is want, but it probably is :-)
But i'm going to study your tip, to see if it fits my needs.
If i understand correctly, if i set the mentioned options and an invalid message is received, BTS will automatically generante an edifact Control Message. I can subscribe it, and do whatever i want. Is this correct?
Thanks.