Имя: Пароль:
1C
1С v8
поддержка Cookie при работе с веб-службой в 1C
0 Anarki
 
17.05.13
08:30
Нужно получать данные с веб службы.
В описании службы говориться, что "Основная часть функций требует наличия активного сеанса, который создается с помощью аутентификации (функция Login). После успешной аутентификации, идентификация клиента происходит по средствам технологии передачи cookie."

Прокси = WSСсылки.WS_LERS.СоздатьWSПрокси("http://www.lers.ru/website/api","Api","ApiSoap");
Прокси.Пользователь = "admin";
Прокси.Пароль = "gfhjkm";

Авторизация = Прокси.Login("admin","gfhjkm");

Если Авторизация.ErrorCode <> "None" Тогда Возврат; КонецЕсли;

ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://www.lers.ru/website/api").Получить("GetMeasurePointList");
WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
СписокТочек = Прокси.GetMeasurePointList(WSПараметр);

В переменной "авторизация" свйоство ErrorCode = "None", что как бы намекает что авторизация прошла.
Но GetMeasurePointList (функция должны вернуть список или описание ошибки)
возвращает ErrorMessage = "Ошибка получения списка точек учета. Пользователь не авторизован".

Вот что ответили на сайте разработчика веб службы. -
При выполнении метода Login, веб-сервис возвращет Cookie клиенту, содержащий идентификатор сессии. Для дальнейшей работы с веб-сервисом, необходимо передавать эти Cookie обратно. Обычно прокси объекты это делают автоматически, необходимо лишь установить Cookie контейнер.
Вот как это выглядит на других языках:
C#:
Код:
// Создаем прокси класс для работы со службой
LersApi.Api client = new LersApi.Api();
// Устанавливаем куки-контейнер, необходим для авторизации пользователя
client.CookieContainer = new System.Net.CookieContainer();

PowerShell:
Код:
# Создаем прокси класс для работы со службой
$webservice = New-WebServiceProxy -uri $url
# Устанавливаем куки-контейнер, необходим для авторизации пользователя
$webservice.CookieContainer = New-Object System.Net.CookieContainer


Вам необходимо выяснить есть ли поддержка Cookie при работе с веб-службой в 1C.

Собственно как заставить это работать, кто шарит?
1 AaNnDdRrEeYy
 
17.05.13
09:18
напиши com объект на C# и вызывай его методы из 1С, я подобное так делал
2 Anarki
 
17.05.13
09:35
(1) Можно поподробней немного? Как написать com объект? и как потом к нему из 1с обращаться?
3 AaNnDdRrEeYy
 
17.05.13
09:40
в VS надо написать dll и у public class установить атрибут COMvisible = true.

ну а потом зарегистрировать dll с помощью regasm

а в 1с все просто
сервис = Новый COMОбъект("ИМяТвоегоКласса");
сервис.ТвойМетодПолученияИлиОтправкиДанных();
4 Anarki
 
17.05.13
09:40
И почему именно так? что неужели в из 1с невозможно работать с веб сервисами, которые требуют авторизацию?
5 Anarki
 
17.05.13
09:41
(3)Во сколько бы ты оценил написание такого объекта?
6 Fragster
 
гуру
17.05.13
09:41
(4) авторизация бывает разная
7 Fragster
 
гуру
17.05.13
09:42
я в свое время вместо кукисов сделал токены - сначала вызов веб сервиса авторизации для получения токена, потом куазание его как одного из параметров
8 Fragster
 
гуру
17.05.13
09:42
но для этого надо к серверной части доступ иметь, да
9 Anarki
 
17.05.13
09:43
(7)А вот у объекта прокси есть свойства Пользователь и пароль. Их можно как нибудь заюзать для авторизации? Это что вообще такое?
10 AaNnDdRrEeYy
 
17.05.13
09:45
(4) 1С например с wcf работаь нифига не умеет, это технология net распостранена там где asp используют.

(9) есть авторизация а есть аутентификация у тебя где именно проблемы ? при авторизации? т.е сервер тебе куки выдает? но ты их ему обратно пульнуть не можеш?
11 Anarki
 
17.05.13
09:46
(10) Да именно так.
12 Anarki
 
17.05.13
09:49
Основная часть функций требует наличия активного сеанса, который создается с помощью аутентификации (функция Login). После успешной аутентификации, идентификация клиента происходит по средствам технологии передачи cookie.

Залогинится у меня получается, а вот дальше труба. куки не передается.
13 Anarki
 
17.05.13
09:55
А что можно попросить реализовать разработчиков веб сервиса у себя, что бы все работало? Например можно при вызове каждого метода дополнительно в качестве параметра указывать логин и пароль, и каждый раз логиниться заново как бы. Я просто не догоняю вообще в этом ничего.
14 AaNnDdRrEeYy
 
17.05.13
09:57
у меня по адресу http://www.lers.ru/website/api пишет ресурс не найден, там фильтрация какаято?
15 Anarki
 
17.05.13
10:03
http://www.lers.ru/soft/manual/index.html?api_interfaces.html
Вот описание.
А сам сервак вот http://78.157.225.111/api.asmx?WSDL.
Пользователь ИванПох Пароль Ghbdtn10
16 oleg_km
 
17.05.13
10:06
(13) Это неудачный вариант - гонять туда-сюда пароль. Другое дело сам токен. Т.е. вызываешь первым делом функция Логин получаешь некий токен. Потом его как параметр в каждую функцию передаешь? Наверное разработчикам так неудобно будет. Так прозрачно для них токен отсылается сам. Напиши в 1С, может допилят к очередному релизу. Но складывается впечатление что они свои WS-клиенты сделали для своих веб-служб
17 Anarki
 
17.05.13
10:08
А токен это гвид типо?
18 AaNnDdRrEeYy
 
17.05.13
10:13
(15) попытался импортировать в VS говрит что порт 80 не  подходит, в документации у них написано что надо после IP порт указывать, api точно 80 порту висит?
19 oleg_km
 
17.05.13
10:15
(17) На твою авторизацию сервер выдает тебе токен - пароль на данную сессию. Он его и записывает в куки. Посмотри фиддлером как называется этот кук, хотя что тебе это даст. Обычно HTTP клиент, в т.ч. и SOAP клиент автоматом сохраняет куки, установленные сервером, и автоматом добавляет к каждому запросу на этот url. 1С похоже так не делает. Поставь Fiddler и прогони тестовую программу и из 1С, сравни что получится
20 AaNnDdRrEeYy
 
17.05.13
10:17
(18) все подключился, на 80 висел, это у меня через прокси надобыло
21 Anarki
 
17.05.13
10:17
(18)10000 попробуй
22 Anarki
 
17.05.13
10:22
(19) написал ребятам про токены) что бы они у себя доработали и сделали как ты сказал. Чую пошлют они меня)
23 AaNnDdRrEeYy
 
17.05.13
10:24
вот что у меня импортнулось
http://yadi.sk/d/QPH8oVG64ujts
24 AaNnDdRrEeYy
 
17.05.13
10:27
биндинг твоей службы

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.serviceModel>
       <bindings>
           <basicHttpBinding>
               <binding name="ApiSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                   receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="true"
                   bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                   maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                   messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                   useDefaultWebProxy="true">
                   <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                       maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                   <security mode="None">
                       <transport clientCredentialType="None" proxyCredentialType="None"
                           realm="" />
                       <message clientCredentialType="UserName" algorithmSuite="Default" />
                   </security>
               </binding>
           </basicHttpBinding>
       </bindings>
       <client>
           <endpoint address="http://78.157.225.111/api.asmx" binding="basicHttpBinding"
               bindingConfiguration="ApiSoap" contract="ServiceReference1.ApiSoap"
               name="ApiSoap" />
       </client>
   </system.serviceModel>
</configuration>
25 Anarki
 
17.05.13
10:27
(12)Ну да как бэ) у меня в 1ске такаяже)
26 Anarki
 
17.05.13
10:27
(25)-(23)
27 Anarki
 
17.05.13
10:29
(24) Чииво это? как это мне поможет? Что делать?
28 AaNnDdRrEeYy
 
17.05.13
10:34
это к тому что в 1С нет такого вот
allowCookies="true", следовательно даже пытаться не стоит
29 Anarki
 
17.05.13
10:35
(28)Аа понял, спасибо(.
30 Anarki
 
17.05.13
10:37
То есть выход - это писать com объект или просить сделать разработчиков альтернативный метод авторизации. А объект сложно написать?
31 AaNnDdRrEeYy
 
17.05.13
11:12
что то с логином и паролем не так
Ошибка входа в систему. Не удалось войти в систему. Имя входа или пароль указаны неверно.
32 Anarki
 
17.05.13
11:18
Ghbdtn
33 Anarki
 
17.05.13
11:18
без 10 теперь
34 AaNnDdRrEeYy
 
17.05.13
11:22
О получилось, сейчас реализую метод
GetMeasurePointList() если получится достучаться до него из 1С без ошибок выложи исходники.
мне самому интересно, пароль тока не меняй.
35 AaNnDdRrEeYy
 
17.05.13
11:22
* выложу исходники т.е
36 Serginio1
 
17.05.13
11:24
37 Serginio1
 
17.05.13
11:31
Заходишь в Вижуал студию,Создаешь библиотеку, добавляешь ссылку на службу (совместимость с 2.0) Добавляешь класс который возвращает объект соединения обернутый в AutoWrap

[ComVisible(true)]
   [ProgId("ИмяТвоегоПрогИД")]
   [ClassInterface(ClassInterfaceType.AutoDispatch)]
   [Guid("Создаешь свой ГУИД")]
   public class ИмяТвоегоКласс//    {

       public object Подключиться()
       {
           return new AutoWrap(new   ПодключениеКТвоемуВэбСервису);
       }


А с этим объектом работаешь из 1С как с COM объектом
38 Serginio1
 
17.05.13
11:33
Либо можешь через NetObjectToIDispatch загрузить свою сборку
используя Активатор.CreateInstance
39 AaNnDdRrEeYy
 
17.05.13
11:36
(37) что еще за AutoWrap, в каком он пространстве имен? что то msdn про него не вкурсе.
40 Anarki
 
17.05.13
11:41
епте) Ниче не понятно)
Что значит "объект соединения обернутый в AutoWrap"))
41 Anarki
 
17.05.13
11:43
(38)Объясни плиз, что делает NetObjectToIDispatch и как ее можно использовать в моих целях. По ссылкам прошел, там исходник, а что с ним делать? и вообще.
42 oleg_km
 
17.05.13
11:57
(38) Может напишем про это статью?
43 AaNnDdRrEeYy
 
17.05.13
12:02
во сделал пример того что это работает
http://yadi.sk/d/O5yT_hfl4uu7C
44 AaNnDdRrEeYy
 
17.05.13
12:03
возвращает свойство Address первого элемента массива, но это только для показа что метод работает.
45 Anarki
 
17.05.13
12:11
Бле, у них оказывается есть какая то библиотека com. на сайте скачал ихнем.
Но вот что мне 1ска говорит
{Форма.Форма.Форма(40)}: Ошибка при вызове конструктора (COMОбъект)
   ЛерсОбъект=Новый COMОбъект("LersAuto.Server");
по причине:
Класс не зарегистрирован

А я его зарегистрировал вот так
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "c:\LersAutomation\Lers.Automation.dll" /codebase "c:\LersAutomation\Lers.Automation.dll"
В батник засунул и запустил от имени администратора.
46 Serginio1
 
17.05.13
12:15
(42) По уму. Вещь нужная только малоиспользуемая.
(41) NetObjectToIDispatch  это прокси для доступа к методам
свойства итд как статических так и экземплярных классов Net через Оле реализуя IReflеct.

По сути это можно сделать так

Вместо new LersApi.Api();

объект=Новый COMОбъект("NetObjectToIDispatch");
   Тип= объект.ПолучитьТип("LersApi",ПутьКDLL);
client=Активатор.CreateInstance(Тип);

ТипSystem_Net=
объект.ПолучитьТип("System.Net");
client.CookieContainer = ТипSystem_Net.CookieContainer();

Можно Добавить метод возвращающий экземпляр, что бы
не вызывать ПолучитьТип, например
СоздатьОбъект(ИмяКласса,Расположение,МассивПараметров);
47 Serginio1
 
17.05.13
12:16
(45) А вызываешь на сервере или клиенте?
48 Anarki
 
17.05.13
12:17
(47)сервере
49 Serginio1
 
17.05.13
12:17
Зарегистрируй c:\Windows\Microsoft.NET\Framework и 32 разрядную
50 Serginio1
 
17.05.13
12:18
А сервер 64 разрядный?
51 Anarki
 
17.05.13
12:18
Да по всякому уже пробывал
52 Anarki
 
17.05.13
12:18
Если не сложно попробуйте у себя зарегать плиз.
http://lers.ru/soft/download/
53 Anarki
 
17.05.13
12:19
Там внизу "Библиотека автоматизации" и по x86 и x64 версии.
54 Serginio1
 
17.05.13
12:20
(52) У тебя Net Framework 4.0 стоит на сервере? Вызови регистрацию в командной строке и посмотри что говорит
55 Anarki
 
17.05.13
12:21
(54) вызвал - куйню говорит)
56 Serginio1
 
17.05.13
12:22
Тьфу стоит конечно, посмотри что командная строка выдает
57 Anarki
 
17.05.13
12:23
RegAsm : error RA0000 : Failed to load 'c:\LersAutomation\Lers.Automation.dll' b
ecause it is not a valid .NET assembly
58 Anarki
 
17.05.13
12:32
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\Ivan.ASIT>c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "c
:\LersAutomation\Lers.Automation.dll" /codebase "c:\LersAutomation\Lers.Automati
on.dll"
Microsoft (R) .NET Framework Assembly Registration Utility 4.0.30319.1
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

RegAsm : error RA0000 : An error occurred while writing the registration informa
tion to the registry. Administrator permissions are needed to use the selected o
ptions. Use an administrator command prompt to complete these tasks.

C:\Users\Ivan.ASIT>

Вот так точнее
59 ДенисЧ
 
17.05.13
12:33
"Administrator permissions are needed to use the selected o
ptions. Use an administrator command prompt to complete these tasks. "

Тут вроде появилась секция по англишу. Обратись туда, переведут
60 Anarki
 
17.05.13
12:35
Ошибка при записи регистрации информации
ния в реестр. Права администратора необходимы, чтобы использовать выбранный O
ptions. Использование командной строки администратора для выполнения этих задач.

Ну дык я же в батник и от имени администратора запускал. Че за чача ваще.
61 Anarki
 
17.05.13
12:37
А кто знает что в батнике написать надо что бы он не закрывался когда отработает?
62 Anarki
 
17.05.13
12:38
О все заработала! Все хана всему! Ща буду одинесить по лютому просто!
63 Anarki
 
17.05.13
12:39
Всем спасибо кстати кто откликнулся)
64 Anarki
 
17.05.13
12:46
(43) Можешь выложить исходники того, что ты сделал?
65 Serginio1
 
17.05.13
12:55
(39) public class AutoWrap : IReflect
Это класс реализующий методы интерфеса IReflect
http://rsdn.ru/forum/dotnet/4719475

http://msdn.microsoft.com/ru-ru/library/bctfs8we.aspx
Интерфейс IReflect используется для взаимодействия с интерфейсом IDispatch. IReflect  определяет подмножество методов отражения Type. Реализация этого интерфейса позволяет настроить поведение типа при доступе к этому объекту из COM-объекта как к объекту IDispatch. Класс ExpandoToDispatchExMarshaler может использоваться для маршалинга объекта, который реализует интерфейс IReflect или IExpando в качестве COM-объекта IDispatch, и наоборот.

AutoWrap  хранит данные об объекту ссылку и тип и вызывает его методы через рефлексию смотри InvokeMember
66 AaNnDdRrEeYy
 
17.05.13
12:56
вот исходники
http://yadi.sk/d/UNxdjU_v4uzkk
67 AaNnDdRrEeYy
 
17.05.13
12:57
(65) после того как появился dynamic 4.0 я забил на этот маршалинг.
68 AaNnDdRrEeYy
 
17.05.13
12:58
* не dynamic 4.0 f dynamic в версии net 4.0
69 Serginio1
 
17.05.13
13:07
(67) Ты не понял. AutoWrap  это обертка к нетовским классам не помеченных как ComVisible = true.
Посмотри примеры
Для примера можно сом доступа к классу создать класс обертку  new LersApi.Api();

[ComVisible(true)]
[ProgId("ИмяТвоегоПрогИД")]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[Guid("Создаешь свой ГУИД")]
public class ИмяТвоегоКласс// {

public object Подключиться()
{
return new AutoWrap(new LersApi.Api());
}

Либо как я уже описывал в 46.
70 Serginio1
 
17.05.13
13:08
(67) Посмотри внимательней v8: Вопрос по NetObjectToIDispatch
71 Leksandr
 
17.05.13
13:19
У меня похожая проблема:

v8: Как получить ответ от сервера (и заголовок set-cookie)

Тоже через свои com объекты решать?
72 Anarki
 
17.05.13
13:20
(71)Еще вот через Soap Toolkit 3.0 посоветовали покурить. Я пока не могу эту фигню тупо скачать даже)
73 AaNnDdRrEeYy
 
17.05.13
13:23
(69) все, я понял, приколльная вещь. но я все равно не могу придумать случаев когда нужно гонять между net сборкой и 1с что то отличное от строк чисел и дат. а они com visible, может потом задача какая такая будет.
74 AaNnDdRrEeYy
 
17.05.13
13:25
(72) это тебе с ней на vbs проще всего будет. скриптики писать
75 Leksandr
 
17.05.13
13:30
Нашел скрипт по работе с куками:

coockies=/tmp/coockies.txt;

rm -f $coockies;

curl  -L -d "user=user&password=pass" -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" -b $coockies -c $coockies http://users.v8.1c.ru

А кто подскажет как этот скрипт в 1С выполнить?
76 Serginio1
 
17.05.13
13:37
(73) Легко. Тот же Вэб сервис где есть куча методов и куча типов.
77 ДенисЧ
 
17.05.13
13:40
(75) А ты вообще понимаешь, что делает этот скрипт? Что он запускает, куда лезет...
78 Serginio1
 
17.05.13
13:41
Да и есть куча затыков где классов 1С не хватает. Где то помогают javascript? А во многих вещах проще использовать нетовские классы.
79 AaNnDdRrEeYy
 
17.05.13
13:45
(75) не надо использовать java скрипты, они не всегда на сервере работают им нужна пользовательская среда, браузер или еще что то.
80 ДенисЧ
 
17.05.13
13:46
(79) какие жаба? Ты тоже его (скрипт) не понял?
Это ж шелл линуховый...
81 Leksandr
 
17.05.13
13:47
На сколько я понимаю скрипт лезет на указанный сайт, отправляет постом логин и пароль ("user=user&password=pass") и сохраняет cookie на диске. если я ошибаюсь - подправьте
82 AaNnDdRrEeYy
 
17.05.13
13:51
(80) нутам всякие ($) на php похоже или джаву и строка Windows NT 5.0 - в голову не пришло что это линукс
83 AaNnDdRrEeYy
 
17.05.13
13:54
(72) качаеш соап тулкит ставиш, вот скрипт на vbs
Set SOAPClient = CreateObject("MSSOAP.SOAPClient30")
SOAPClient.mssoapinit "путь к товоему сервису"
SOAPClient.LogIn "логин", "пароль"
Set nodes = SOAPClient.ТвойМетод()

запускаеш скрипт из 1с
84 Anarki
 
17.05.13
14:02
(83) Как его запустить из 1с?
85 AaNnDdRrEeYy
 
17.05.13
14:09
скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
скрипт.Language = "vbscript";
скрипт.AddCode("тут текст скрипта");
скрипт.Run();
86 Anarki
 
17.05.13
14:13
Я по тупому сделал.    

Сервис = Новый COMОбъект("MSSOAP.SoapClient30");
   
   Сервис.MSSoapInit("http://78.157.225.111/api.asmx?WSDL");
   Сервис.LogIn("ИванПох","300300");
   
   МойМетод = Сервис.GetMeasurePointList();

и..заработало) Правда возавращает чета непонятную туеву кучу свойств(Это наверно самого MSSOAP.SoapClient30) и подтупливает заметно.
87 oleg_km
 
17.05.13
14:16
(86) Мелкомягкие бросили его поддержку, ну и недоделан он был малеха. Советую тебе разобраться с примером Serginio1 (70) освоишь дотНет: сразу почуствуешь, что стал выше ростом раза в три
88 Anarki
 
17.05.13
14:18
Блее, чета не так все радужно, в оригинале метод должен список объектов возвращать, а тут он мне типо вот такое выдает "one4ЦОДетский сад № 2 - ЦОул. Ларина 1HeatRegular3Normalfalsefalsefalse1388SevenKT7КТtrue5ЦОШкола № 6 - ЦОул. Рябиковская, 83/1HeatRegular4Normalfalsefalsetrue1428SevenKT7КТtrue6ЦОДХШ - ЦОул. Океанская, 7аHeatRegular5Normalfalsefalsefalse1470SevenKT7КТtrue7ГВСДХШ - ГВСул. Океанская, 7аHotWaterRegular6Normaltruefalsefalse1470SevenKT7КТtrue10ЦОДетский сад № 3 - ЦОул. Маршала Блюхера 37/1HeatRegular9Normalfalsefalsefalse1353SevenKT7КТtrue11ГВСДетский сад № 3 - ГВСул. Маршала Блюхера"
Это потомучто ком типа?) короче, все пропало)
89 AaNnDdRrEeYy
 
17.05.13
14:21
(88)сохранить как текст и парсить, однозначно!!! )))
90 Serginio1
 
17.05.13
14:22
(86) Можешь Загрузить фабрику например через чтение
ФайлыXSD = Новый Массив();
ФайлыXSD.Добавить(ФайлСПрайсом);
Фабрика = СоздатьФабрикуXDTO(ФайлыXSD);

Или
Фабрика=Прокси.ФабрикаXDTO;

ТвойОбъект=Фабрика.ПрочитатьXML(ЧтениеXML,ФабрикаВыгрузки.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));

где   Чтение= новый ЧтениеXML;
   Чтение.УстановитьСтроку(Строка);
91 Serginio1
 
17.05.13
14:24
92 Anarki
 
17.05.13
14:24
(89)На такое я никогда не пойду))
(87)я бы с радостью) а с чего начать? я вообще ничего не догнал че вы там понаписали)
93 Anarki
 
17.05.13
14:29
(90)поясни плиз
94 AaNnDdRrEeYy
 
17.05.13
14:31
(90) утилита есть такая wsdl.exe создает файл xsd из wsdl описание сервиса, потом этот файл xsd можно загрузить в 1С (пакеты XDTO) и с помощью этого пакета читать xml переданный веб срвисом
95 Serginio1
 
17.05.13
14:34
Обычно по протоколу Soap тебе возвращается XML. Есть такое понятие как схема XSD которая описывает все типы. Короче это очень долго объяснять. Я тебе уже дал кучу советов. Ты же на C# пишешь. Что тебе непонятно в 69
96 Anarki
 
17.05.13
14:36
Ну меня одно из свойств возвращаемого GetMeasurePointList() как раз XML со всей фигней.
Мне нужно этот XML прочитать щас и все, будет счастье.
А прочитать его можно с помощью вот этой ФабрикиXDTO да?

(95)Какое C#, я слов таких не знаю даже)
97 Serginio1
 
17.05.13
14:40
(96) Можно прочитать через

Чтение= новый ЧтениеXML;
   Чтение.УстановитьСтроку(СтрокаВозвращенная GetMeasurePointList);

Фабрика.ПрочитатьXML(ЧтениеXML,ФабрикаВыгрузки.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));
98 oleg_km
 
17.05.13
14:40
(95) Это не он, это AaNnDdRrEeYy с C# дружит

(96) Это просто может быть XML. В рамках веб-службы это просто строка
99 Serginio1
 
17.05.13
14:42
Либо можешь распарсить как в 91. Она возврати Тазблицу значений у которй может быть таблица значений Аотрибутов и Узлов
Функция СоздатьТзАтрибутов()
   Тз=Новый ТаблицаЗначений;
   Колонки=Тз.Колонки;
   Колонки.Добавить("Имя",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0));
   Колонки.Добавить("Значение",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0));
   
   Возврат Тз
КонецФункции

Функция СоздатьТзУзлов()
   Тз=Новый ТаблицаЗначений;
   Колонки=Тз.Колонки;
   Колонки.Добавить("Имя",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0));
   Колонки.Добавить("Значение",ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0));
   Колонки.Добавить("Узел",Новый ОписаниеТипов("ТаблицаЗначений"));
   Колонки.Добавить("Атрибуты",Новый ОписаниеТипов("ТаблицаЗначений"));
   Возврат Тз
КонецФункции
100 Anarki
 
17.05.13
14:50
(97)Объясни плиз, в твоем примере "Фабрика","ЧтениеXML" и "ФабрикаВыгрузки" откуда берутся?
101 Serginio1
 
17.05.13
14:57
Просто скопировано из разных источников.

Фабрика=Прокси.ФабрикаXDTO;
(либо смотри 90)

ЧтениеXML= новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаВозвращенная GetMeasurePointList);

Фабрика.ПрочитатьXML(ЧтениеXML,Фабрика.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя));
102 Serginio1
 
17.05.13
14:59
Можно перед чтением Фабрикой
ЧтениеXML.ПерейтиКСодержимому();
103 Anarki
 
17.05.13
15:00
Спасибо
104 Leksandr
 
17.05.13
17:02
Может поможет:

WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2,"Windows-1251");
WinHttp.Open("POST", "https://site.ru",0);

WinHttp.Send(НовыйЗапрос);

Кукиз= WinHttp.getResponseHeader("Set-cookie");
Основная теорема систематики: Новые системы плодят новые проблемы.