Данные, которые вы пытаетесь опубликовать, могут выглядеть немного забавно, если вы присоединяете к ним временную строку:
strDataToPost = DataToSend.Text & Server.UrlEncode(Now())
Если DataToSend - это правильный XML, то вы добавляете Url-кодировку Now (), которая заставляет меня думать, что он больше не будет действительным XML.
Убедитесь, что ваш StreamWriter не вставляет дополнительные символы (CR, LF). Если это так, то отправляемая длина не соответствует фактическим данным, но это, вероятно, не вызвало бы проблемы, прежде чем вы начали отправлять длину содержимого.
Может ли ваша конфигурация веб-сервиса принимать XML напрямую? Мне интересно, может быть, вам придется инкапсулировать XML в multipart / form-data, чтобы ваш веб-сервис принял его.