12-10-2009 12:50 PM
I use the C# sample posting code from the developer website, it works for all-english address. However, when I use non-english addresses like Montréal, it throws
Bytes to be written to the stream exceed the Content-Length bytes size specified.
---> myWriter.Flush(); // throw exception
what I found out is the sample code using strPost.Length as HttpWebRequest.ContentLength, but non-english characters count more than 1 in stream. I tried other method,
byte buffer = System.Text.Encoding.UTF8.GetBytes(strPost);
objRequest.ContentLength = buffer.Length;
new StreamWriter(objRequest.GetRequestStream(), System.Text.Encoding.UTF8);
I got Cannot close stream until all bytes are written.
So I wonder what's the correct code should be.
12-18-2009 01:47 PM
Unfortunately, non-English characters are not allowed in any of our APIs. Try submitting the request with standard English characters and see if that works.
Developer Community Manager
06-07-2011 05:25 AM
Can you please provide sample code on how to handle International Address? Or Should we not pass the address if the country is outside US and Canada?
Please help as we are having trouble with international customers trying to checkout.
02-02-2013 01:39 AM
We're having this same issue. Was a workaround ever suggested?
I've seen another post at - http://forums.asp.net/t/1396312.aspx/1 - which suggests that this command might work:
Can you advise please?
02-05-2013 03:28 PM