8.х 1C и SOAP

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем murava, 26 окт 2007.

  1. TopicStarter Overlay
    murava
    Offline

    murava

    Регистрация:
    13 апр 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Проблема следующая: есть web-сервис, задача которого обмениваться файлами (к примеру *.zip) с клиентским приложением, то-есть с 1С-ой. Работать с методами, которые возвращают, например, строку, я могу, а вот с файлами не разобрался. ПОМОГИТЕ кто может.

    ЗЫ. Сервер на ASP.NET (C#). Клиентская версия не принципиальна (1с 7.7, 8.*).
    Использую MsSoap3.0. Пробовал WSE 1.0.
  2. dend
    Offline

    dend Опытный в 1С

    Регистрация:
    9 апр 2007
    Сообщения:
    175
    Симпатии:
    0
    Баллы:
    26
    Если из 1С 8.0, то я делал через VB-script
    Функция ПослатьЗапросSAP(ИпользоватьПрокси,Таймаут,ТекстXMLФайла,ИмяУдаленнойПроцедурыSAP)
    VBScriptText = "
    |Function SendRequvest()
    |Dim Client
    | UseProxy = "+?(ИпользоватьПрокси,"True","False")+"
    | Timeout = "+Таймаут+"
    | cXML = """+ТекстXMLФайла+"""
    | RFCName = """+ИмяУдаленнойПроцедурыSAP+"""
    |
    |Set Client = CreateObject(""MSSoap.SoapClient30"")
    |
    |Client.ClientProperty(""ServerHTTPRequest"") = True
    |Client.mssoapinit ""***"", ""**"", ""**""
    |Client.ConnectorProperty(""EndPointURL"") = ""***""
    |
    |If UseProxy Then
    | Client.ConnectorProperty(""ProxyServer"") = ""< CURRENT_USER >""
    | Client.ConnectorProperty(""EnableAutoProxy"") = True
    |End If
    |
    |Client.ConnectorProperty(""ConnectTimeout"") = 60000
    |Client.ConnectorProperty(""Timeout"") = Timeout * 1000
    |
    |Set oDom = CreateObject(""Microsoft.XMLDOM"")
    |Set xmlResponseDoc = CreateObject(""Microsoft.XMLDOM"")
    |
    |oDom.loadXML (cXML)
    |Set oXMLNodeList = Client.SapCall(RFCName, oDom.xml)
    |SendRequvest = oXMLNodeList.Item(0).xml
    |End Function
    |";

    //Сообщить(VBScriptText);

    ScrptCtrl = Новый ComObject("MSScriptControl.ScriptControl");
    ScrptCtrl.Language ="vbscript";
    ScrptCtrl.AddCode(VBScriptText);

    ФайлОтвета = ScrptCtrl.Run("SendRequvest");

    Возврат ФайлОтвета;

    КонецФункции
  3. TopicStarter Overlay
    murava
    Offline

    murava

    Регистрация:
    13 апр 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Как я понимаю, вы передаете методу сервиса XML-файл (XML-текст), и этот метод возвражает тоже какой-то XML-текст. (Возможно я не так что-то понял??) Но мне надо этот текст преобразовать в zip-файл. Если знаете, как это зделать - помогите.
  4. akostrov
    Offline

    akostrov

    Регистрация:
    20 ноя 2009
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Что должно быть в параметре ТекстXMLФайла?
    Хотя бы образец какой-нибудь.

    Этот скрипт я применил в v77
  5. TODD22
    Online

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    доброго времени суток!
    можно так...записать....
    Код:
    Архив = Новый ЗаписьZIPФайла("C:44.zip","Пароль","Комментарий",МетодСжатияZIP.Сжатие,УровеньСжатияZIP.Максимальный, МетодШифрованияZIP.Zip20);
    Архив.Добавить("C:44.xml",РежимСохраненияПутейZIP.НеСохранятьПути);
    Архив.Записать();
    
    
    
    а прочитать....
    Код:
    Архив= Новый ЧтениеZIPФайла("C:путь.ZIP,"Пароль");
    Архив.ИзвлечьВсе("С:путь");
    </span>
    
    </FONT></FONT></pre>
    а почитать про это можно в "Проффесиональной разработке" Радченко... глава 14...
Похожие темы
  1. trancer
    Ответов:
    2
    Просмотров:
    1.084
  2. banzai
    Ответов:
    0
    Просмотров:
    788
  3. mas05
    Ответов:
    1
    Просмотров:
    4.334
  4. ivan.kovalenko
    Ответов:
    3
    Просмотров:
    650
Загрузка...

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