Имя: Пароль:
1C
1С v8
Использование веб-сервиса с вот таким описанием
0 Mashinist
 
11.08.12
19:33
Значит есть ссылка wsdl и она успешно вставляется в 1С как объект WS-ссылка
Дальше по сути вот такое описание
Получение списка дел
формируем следующий XML-запрос
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://....">
<soapenv:Header/>
<soapenv:Body>
<ser:getTaskListRequest>
<ser:parameter>
<ser:name>loginId</ser:name>
<ser:value>VALUE_LOGINID</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>password</ser:name>
<ser:value>VALUE_PASSWORD</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>fieldsToReturn</ser:name>
<ser:value>VALUE_FIELDSTORETURN</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>box</ser:name>
<ser:value>VALUE_BOX</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>fromDate</ser:name>
<ser:value>VALUE_FROMDATE</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>toDate</ser:name>
<ser:value>VALUE_TODATE</ser:value>
</ser:parameter>
<ser:parameter>
<ser:name>responseStylesheet</ser:name>
<ser:value>VALUE_RESPONSESTYLESHEET</ser:value>
</ser:parameter>
</ser:getTaskListRequest>
</soapenv:Body>
</soapenv:Envelope>

В XML-запросе замените выделенные позиции на:
· VALUE_LOGINID — имя пользователя
· VALUE_PASSWORD — пароль пользователя
· VALUE_FIELDSTORETURN - список...

После того, как отправлен запрос, от сервера приходит ответ в XML формате...

Вот такое описание. Все.

Вопрос - как составить запрос

Хочу написать так

   ВССервис = WSСсылки.AudaNetB2B.СоздатьWSПрокси("http://...", "TaskService", "TaskServicePort");

Эти параметры видны в свойствах WS-ссылки
   
   Пакет = ВССервис .ФабрикаXDTO.Пакеты.Получить("http://serviceinterface_v1.b2b.audatex.com");
   ТипФабрики = Пакет.Получить("????);
   ПараметрыФабрика = ВССервис .ФабрикаXDTO.Создать(ТипФабрики);
   ПараметрыФабрика.loginId = "mylogin";
....

Первая непонятность что писать в Пакет.Получить("????)

В принципе Пакет.Количество() выдает 4
Не ясно какое использовать
Или я вообще не туда иду?
1 Mashinist
 
11.08.12
22:35
Такс...
http://screencast.com/t/CiERWn7ZYp

Вот сервис getTaskListRequest имеет тип B2BRequest (http://serviceinterface_v1.b2b.audatex.com)

Тип B2BRequest имеет два параметра
parameter типа B2BParameter (http://serviceinterface_v1.b2b.audatex.com)
payload ???

B2BParameter имеет три параметра
xsltParameter - boolean (http://www.w3.org/2001/XMLSchema)
name - string (http://www.w3.org/2001/XMLSchema)
value - string (http://www.w3.org/2001/XMLSchema)


Осталось понять как это все завернуть что-бы вызвать веб-сервис getTaskList
2 aleks-id
 
11.08.12
22:47
веб-сервисы в 1с навернуты по самое нибалуй. я отказался от них и юзаю MSSoap
3 Mashinist
 
11.08.12
22:51
(2) т.е. использовать библиотеку MS SOAP 3.0?
Увы, она не поддерживается больше MS'ом и не работает на win 2003 сервер
Или как?
4 Nexux
 
12.08.12
00:54
все работает и на 2008 сервере
5 Jaap Vduul
 
12.08.12
02:07
Фабрика = Прокси.ФабрикаXDTO;
ТипRequest = Фабрика.Тип("http://serviceinterface_v1.b2b.audatex.com", "B2BRequest");
ТипParameter = Фабрика.Тип("http://serviceinterface_v1.b2b.audatex.com", "B2BParameter");    
request = Фабрика.Создать(ТипRequest);    
login = Фабрика.Создать(ТипParameter);
login.name = "loginId";
login.value = "RU******";

И т.д. - см. описания методов, там достаточно подробно всё описано.

И в конце:
TaskList = Прокси.getTaskList(request);
6 Mashinist
 
12.08.12
10:15
(5) Спасибо за прояснение

т.е. как бы понятно, что getTaskList требует объект типа B2BRequest
и мы его создаем request = Фабрика.Создать(ТипRequest);  

понятно как создаем параметры
login = Фабрика.Создать(ТипParameter);
login.name = "loginId";
login.value = "RU******";

но как эти параметры передать в request ?
request.request = login;

а остальные как???

т.е. я не понимаю как параметры (loginId,password,...) передаются в запрос request
пока же он только описан как request = Фабрика.Создать(ТипRequest);    
и все..
7 Mashinist
 
12.08.12
10:21
(4) расскажи как???
у меня не получилось
под ХР все отлично работало. когда тоже самое запустили на win 2003 все стало жутко сбоить
потом прочитал вот это http://support.microsoft.com/kb/811215
8 Nexux
 
12.08.12
10:33
через com+ пробуйте зарегистрировать
9 Mashinist
 
12.08.12
10:55
(8) если можно чуток поподробнее
10 Jaap Vduul
 
12.08.12
13:27
>>как эти параметры передать в request ?
request.добавить(login)
11 Nexux
 
12.08.12
14:25
(9)регистрировать http://clck.ru/KpaZ в коде 1с работать с объектом через js
12 Mashinist
 
12.08.12
14:57
(10) не все так просто request это ОбъектXDTO
а для него .Добавить выглядит так
Добавить(<Форма>, <URI пространства имен>, <Локальное имя>, <Элемент данных>)

что куда для меня темный лес...
13 Jaap Vduul
 
12.08.12
15:05
(12)Вернее вот так:
parameter = request.parameter;
parameter.добавить(login);
14 Mashinist
 
12.08.12
15:15
(13) Спасибо огромное!!!
Заработало!!!!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.