<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:814447708;
        mso-list-template-ids:1081497256;}
@list l0:level1
        {mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:842352017;
        mso-list-template-ids:1138236014;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">I ran into the same issue last Monday and we used the same workaround but only after some damage was already done.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">It looks like 1.9.0 fixes the issue for us, at least for the particular issue we ran into (umlaut a in tag 58) but should it happen again in some other manner, I don’t have much confidence that we won’t be left
 with another mess to clean up.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I would also love an option to skip/mark the message and move on since we are mostly a drop copy shop, one bad message lost isn’t that big of a deal.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Disconnecting the session as it does now seems like a very drastic move for a bad message.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Jiho<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><o:p></o:p></span></p>
<p class="MsoNormal">Classification: Confidential<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="_____replyseparator"></a><b>From:</b> Quickfixn <quickfixn-bounces@lists.quickfixn.com>
<b>On Behalf Of </b>Toomey, Sean<br>
<b>Sent:</b> Wednesday, August 11, 2021 7:09 PM<br>
<b>To:</b> quickfixn@lists.quickfixn.com<br>
<b>Cc:</b> Vincent, Brad <Brad.Vincent@broadridge.com><br>
<b>Subject:</b> [EXTERNAL] {{Quickfixn}} FIX message contains bad character, how can we skip it<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looking for some advice on how to handle this situation (<a href="https://github.com/connamara/quickfixn/issues/683">https://github.com/connamara/quickfixn/issues/683</a>), raised by someone else earlier this year but I just ran into it
 earlier today.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">How can malformed messages be rejected and bypassed in code? Right now it seems the only solutions are no validation or manual intervention. Thanks.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Issue defined below:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt;background:white">
<i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">Certain brokers sending us a FIX message where the tag 58 value contains invalid characters that causes the FIX engine to stop with "Invalid message: Expected ..."<o:p></o:p></span></i></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">Session FIX.4.4:TEST->CLIENT disconnecting: QuickFix.InvalidMessage: Invalid message: Expected BodyLength=797,
 Received BodyLength=795<br>
at QuickFix.Session.Next(MessageBuilder msgBuilder)<br>
at QuickFix.SocketInitiatorThread.ProcessStream()<br>
at QuickFix.SocketInitiatorThread.Read()<o:p></o:p></span></i></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;background:white"><b><i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">Workaround</span></i></b><i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E"><o:p></o:p></span></i></p>
<ol start="1" type="1">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo3;background:white">
<i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif">Stop FIX engine and jump the sequence number by one.<o:p></o:p></span></i></li></ol>
<p class="MsoNormal" style="mso-margin-bottom-alt:auto;background:white"><i><span style="font-size:10.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">Is it possible to extend QuickFixN so it delivers the payload as bad message then jumps to the next message?<o:p></o:p></span></i></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:6.0pt"><b><span style="font-size:10.0pt;color:black">Sean Toomey</span></b><span style="font-size:10.0pt;color:black"> |
</span><span style="font-size:10.0pt;color:#231F20">Development Manager, Securities Finance Collateral Management
</span><span style="font-size:10.0pt;color:black">| Broadridge Financial Solutions, Inc.<br>
p +1 413-395-9511 | m +1 413-281-2180<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:.5pt;margin-right:0in;margin-bottom:.5pt;margin-left:0in">
<a href="https://www.linkedin.com/company/broadridge-financial-solutions"><span style="font-size:10.0pt;color:black;text-decoration:none"><img border="0" width="16" height="16" style="width:.1666in;height:.1666in" id="Picture_x0020_4" src="cid:image001.jpg@01D7937E.42E7AA40"></span></a><span style="font-size:10.0pt;color:black"> </span><a href="https://twitter.com/broadridge"><span style="font-size:10.0pt;color:black;text-decoration:none"><img border="0" width="16" height="16" style="width:.1666in;height:.1666in" id="Picture_x0020_5" src="cid:image002.jpg@01D7937E.42E7AA40"></span></a><span style="font-size:10.0pt;color:black"> </span><a href="https://www.youtube.com/user/BroadridgeInsights"><span style="font-size:10.0pt;color:black;text-decoration:none"><img border="0" width="16" height="16" style="width:.1666in;height:.1666in" id="Picture_x0020_6" src="cid:image003.jpg@01D7937E.42E7AA40"></span></a><span style="font-size:10.0pt;color:black"> </span><a href="https://www.facebook.com/BroadridgeCareers"><span style="font-size:10.0pt;color:black;text-decoration:none"><img border="0" width="16" height="16" style="width:.1666in;height:.1666in" id="Picture_x0020_2" src="cid:image004.jpg@01D7937E.42E7AA40"></span></a><span style="font-size:10.0pt;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:6.0pt;margin-right:0in;margin-bottom:.5pt;margin-left:0in">
<u><span style="font-size:10.0pt;color:black"><a href="http://www.broadridge.com/"><span style="color:black">broadridge.com</span></a></span><span style="color:black"><o:p></o:p></span></u></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif">This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message
 is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately
 by e-mail and delete the message and any attachments from your system.<o:p></o:p></span></p>
</div>
</div>
<p><br>This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive this message in error, please delete it and immediately notify the sender. Any use not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. The internet can not guarantee the integrity of this message. BNP PARIBAS (and its subsidiaries) shall (will) not therefore be liable for the message if modified. Please note that certain functions and services for BNP Paribas may be performed by BNP Paribas RCC, Inc.</p><p><br>Unless otherwise provided above, this message was sent by BNP Paribas, or one of its affiliates in Canada, having an office at 1981 McGill College Avenue, Montreal, QC, H3A 2W8, Canada. To the extent this message is being sent from or to Canada, you may unsubscribe from receiving commercial electronic messages by using this link: <a href="http://www.bnpparibas.ca/en/unsubscribe/">www.bnpparibas.ca/en/unsubscribe/</a>. See <a href="http://www.bnpparibas.ca">www.bnpparibas.ca</a> for more information on BNP Paribas, in Canada.</p></body>
</html>