I have a recieve port, and location accepting an HL7 2.x message over MLLP. I have created a party, and configured the acknowledgement settings using the BTAHL7 configuration explorer. The message parses fine, ACKS are returned to the originating system and I am able to send the deserialized xml to a file using a passthrough pipeline, and send the resulting ACKs to a file also using a passthrough pipeline, so I can confirm successful reception parsing and validation of the inbound xml.
As a simple test, I create a send port using the BTAHL72XSendPipeline to dump the HL7 2.x message to a file. To do this, I put a filter on the send port
BTS.MessageType == http://microsoft.com/HealthCare/HL7/2X#ADT_A04_21_GLO_DEF
And I recieve the following parsing errors, which I don't understand because the message parsed fine when I received it:
There was a failure executing the send pipeline:
"BTAHL72XPipelines.BTAHL72XSendPipeline, BTAHL72XPipelines, Version=1.3.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Source: "BTAHL7 2.X Assembler"
Send Port: "Send.HL7" URI: "C:\Demo\HL7\In\HL7\%MessageID%.txt"
Reason: Serialization errors:
Error # 1
Segment Id: NK1_NextOfKin
Sequence Number: 1
Field Number: 5
Error Number: 207
Error Description: Application internal error
Encoding System: HL7nnnn
Alternate Error Number: Z100
Alternate Error Description: Trailing delimiter found
Alternate Encoding System: HL7-BTA
Error # 2
Segment Id: PV1_PatientVisit
Sequence Number: 1
Field Number: 45
Error Number: 207
Error Description: Application internal error
Encoding System: HL7nnnn
Alternate Error Number: Z100
Alternate Error Description: Trailing delimiter found
Alternate Encoding System: HL7-BTA
Right click on your send pipeline and choose properties then click on the ".." button next to the Send pipeline and select "true" for the "TrailingDelmitierAllowed" option. Also make sure these are checked on the receive pipeline.