The one that grabbed my attention was ‘sv’ (Service Version). I could see that I was using an older version to formulate the token (sv=2012-02-12).
I tried to compose the request again and confirmed if that was indeed the cause of this issue. I created a new SAS token using a different version of the sv (Service Version), though not the most recent one.
I have referred to the document which says the new SDK is expecting the Put Message API call to return a valid XML response. Since the SAS signature had an older version no response was returned from the Azure Queue Storage.
Also note that the message was getting added in the queue though we got the exception in the response. A workaround may be to simply ignore the storage exception generated by this API, but this carries risk as you may be ignoring genuine exceptions too.
We strongly recommend that you regenerate the SAS signature to allow you to take advantage of all the features that have been added over the years to the Azure Storage SDK.