1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Webdav, копирование сообщения

Тема в разделе "Остальные языки программирования", создана пользователем Dmitry Stremkouski, 28 фев 2007.

Статус темы:
Закрыта.
  1. Dmitry Stremkouski

    Dmitry Stremkouski Гость

    Репутация:
    0
    Здравствуйте, уважаемые специалисты.
    Имею проблему с данным модулем.

    Дано:
    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 --------------------------------------------- '
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей