Details
Description
When NMS.Stomp receives a message with a messageId containing something else than a number, it will throw an exception:
Unhandled Exception: Apache.NMS.NMSException: Input string was not in a correct format. ---> System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt) at Apache.NMS.Stomp.Commands.MessageId.SetValue(String messageKey) at Apache.NMS.Stomp.Protocol.StompWireFormat.ReadMessage(StompFrame frame) at Apache.NMS.Stomp.Protocol.StompWireFormat.CreateCommand(StompFrame frame) at Apache.NMS.Stomp.Protocol.StompWireFormat.Unmarshal(BinaryReader dataIn) at Apache.NMS.Stomp.Transport.Tcp.TcpTransport.ReadLoop() --- End of inner exception stack trace --- at Apache.NMS.Stomp.MessageConsumer.Dequeue(TimeSpan timeout) at Apache.NMS.Stomp.MessageConsumer.Receive(TimeSpan timeout)
Message headers (according to Apollo web UI)
content-length 50652
correlation-id 5e3b57eae6af6d54e0426dae4ef14732
destination /queue/OCRRequest
message-id ID:default-3ec-17
receipt 18
persistent true
transformation TEXT
reply-to /queue/temp.default.default-3ec.d1b799a4-b165-422f-b5cc-dd2cb4ff5442
According to the specification the messageId is a string and doesn't necessarily contain a valid number following the semicolon.