Repairing Unparsed Messages

If the A4SWIFT disassembler cannot parse a message, you can repair that message. You do so in an InfoPath form from within the A4SWIFT MRSR site. However, A4SWIFT processes that message differently from a repaired message that failed XML or BRE validation.

If a message or batch fails parsing, A4SWIFT marks it as A4SWIFT_Failed = True, with a parse error count greater than 0. The message body remains in flat-file form, encased in an XML wrapper. If the repair rule is set to permit the processing of parse failures, the message is sent to the Unparsed inbox for processing using the Unparsed form.

There is only one Unparsed inbox for all users and all departments, because A4SWIFT may not have access to any data about the message other than the original receive location. As a result, to repair an unparsed message, a user must have the repair capability and must be associated with the repair role in all departments.

A4SWIFT displays the unparsed message in the text area of the Unparsed InfoPath form. To correct the parsing problem, you may enter or delete characters as necessary. After it is submitted, the message is extracted from the XML wrapper and resubmitted through the SWIFT receive pipeline. If parsing succeeds, A4SWIFT processes the message as it would any other message.

A4SWIFT does not process an unparsed message that you have fixed through a full repair workflow. A4SWIFT sends it out unverified and unapproved. When you sign a repaired unparsed message and then submit it, A4SWIFT does not call BRE validation or check the department, but sends the message directly to the send pipeline. If that pipeline cannot process the message, A4SWIFT sends it to the repair process.

This process enables you to correct badly formatted messages from another system. However, you should use caution when correcting parsing issues. When A4SWIFT handles an unparsed message, it does not validate the message. Unparsed repair is not defined as a role, so anyone can perform this process. Because unparsed message do not belong to any department, the only security provided on access to them is the ACLs on the Unparsed inbox. A4SWIFT also does not retain the original receive location of an unparsed message as a context property of the message.

You can write a custom validation to be performed on the repaired unparsed message. You can also write a subscription to send a repaired unparsed message to the original file pipeline.

For the repair mechanism to work on unparsed messages, you need to add the EnvelopeUnparsedMessage.xsd schema to the assembly that contains message schemas. For more information, see Deploying A4SWIFT Schemas.