D
Dmitry Stremkouski
Здравствуйте, уважаемые специалисты.
Имею проблему с данным модулем.
Дано:
Exchange Server 1, Exchange Server 2, MSXML4, VBScript6
Доступ к сообщениям получаю по WebDAV.
Этот код копирует источник при помощи потока ADO и, затем, полученные данные отправляет вторым запросом на назначение. Использую бинарный поток, без разбора.
Проблема возникает при разборе заголовков сообщения после перемещения.
В местах полей От: и Кому: русские буквы заменяются на вопросительные знаки.
Не могли бы вы мне помочь разобраться, почему так происходит и с чем это может быть связано.
Буду рад любым подсказкам.
Спасибо.
Код модуля:
Имею проблему с данным модулем.
Дано:
Exchange Server 1, Exchange Server 2, MSXML4, VBScript6
Доступ к сообщениям получаю по WebDAV.
Этот код копирует источник при помощи потока ADO и, затем, полученные данные отправляет вторым запросом на назначение. Использую бинарный поток, без разбора.
Проблема возникает при разборе заголовков сообщения после перемещения.
В местах полей От: и Кому: русские буквы заменяются на вопросительные знаки.
Не могли бы вы мне помочь разобраться, почему так происходит и с чем это может быть связано.
Буду рад любым подсказкам.
Спасибо.
Код модуля:
Код:
' **************************************************************************** '
' ---------------------- CopyMsg --------------------------------------------- '
' **************************************************************************** '
Public Function CopyMsg (FromPath, ToPath)
Dim CONN1, CONN2, ASTREAM, MessageIO
Set CONN1 = CreateObject("Msxml2.XMLHTTP")
' Проверка на успешное создание обьекта.
If Err.Number <> 0 Then
WScript.Echo "Error Creating XML object"
WScript.Echo Err.Number & ": " & Err.Description
Else
Set CONN2 = CreateObject("Msxml2.XMLHTTP")
' Проверка на успешное соединение.
If Err.Number <> 0 Then
WScript.Echo "Error Creating XML object"
WScript.Echo Err.Number & ": " & Err.Description
Else
' Открытие двух соединений.
CONN1.Open "GET", FromPath, FALSE, PMdomain & "\" & PMlogin, PMpassw
CONN2.Open "PUT", ToPath, FALSE, PMdomain & "\" & PMlogin, PMpassw
CONN1.SetRequestHeader "Translate","f"
' Честно говоря, перепробовал множество значений, но это не повлияло на ход событий.
CONN1.SetRequestHeader "Charset", "x-ansi"
CONN1.Send
CONN2.SetRequestHeader "Destination", ToPath
CONN2.SetRequestHeader "Charset", "x-ansi"
CONN2.SetRequestHeader "Translate","f"
Set ASTREAM = CreateObject("ADODB.Stream")
If Err.Number <> 0 Then
WScript.Echo "Error Creating ADODB Stream"
WScript.Echo Err.Number & ": " & Err.Description
Else
ASTREAM.Open
If Err.Number <> 0 Then
WScript.Echo "Error Opening ADODB Stream"
WScript.Echo Err.Number & ": " & Err.Description
Else
MessageIO = CONN1.ResponseBody
ASTREAM.Type = 1 ' Бинарный поток.
ASTREAM.Write MessageIO
ASTREAM.Position = 0
ASTREAM.Type = 1 ' Setting to BinaryType Stream Data
CONN2.Send ASTREAM
End If
End If
Set ASTREAM = Nothing
End If
Set CONN2 = Nothing
End If
Set CONN1 = Nothing
End Function
' ----------------- EOF: CopyMsg --------------------------------------------- '