![]() |
![]() |
|
Использование веб-сервиса с вот таким описанием | ☑ | ||
---|---|---|---|---|
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) Спасибо огромное!!!
Заработало!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |