|
web сервисы в 1С | ☑ | ||
---|---|---|---|---|
0
tp_home
08.10.12
✎
14:59
|
Здравствуйте!
Сразу скажу это моя первая обработка в этой тематике и RTFM не советовать, потому как скушал его много, прошу дать либо совет, либо направление куда двигаться. Вот такая трабла: В сети развернут web сервис на 89 порту одной из машин. С помощью обработок, коих много в сети и на ИТС наморосил свою. При чем пробовал варианты когда WS-ссылка объект создан в конфигурации: СервисПрокси = WSСсылки.BI.СоздатьWSПрокси(ПространствоИмен, ИмяСервиса, ИмяПорта); , и вариант при котором определения вытягивают во временный объект Определение = Новый WSОпределения(ПутьКWSDL); СервисПрокси = Новый WSПрокси(Определение, ПространствоИмен, ИмяСервиса, ИмяПорта); При создании объекта wsссылки в конфигураторе получаю подробное описание сервиса Так же его можно видеть по ссылке http://81.23.4.250:89/User.asmx?WSDL Начколько я понял имя сервиса UserService... Так вот 1С говорит Сервис не найден. {http://81.23.4.250:89}:UserService Настройки параметров следующие ПутьКWSDL = "http://81.23.4.250:89/User.asmx?WSDL"; ПространствоИмен = "http://81.23.4.250:89"; ИмяСервиса = "UserService"; ИмяПорта = "UserServiceSoap"; Как так? Где косяк? |
|||
1
Balonbl4
08.10.12
✎
15:02
|
Попробуй добавить эту ws ссылку в дерево конфигурации и напиши,что получится
|
|||
2
ProgAL
08.10.12
✎
15:03
|
Определения = Новый WSОпределения("http://" + СокрЛП(СтрокаАдреса) + "/ws/ws/wsexchange.1cws?wsdl", "Администратор", "");
Прокси = Новый WSПрокси(Определения, "http://www.yandex.ru/wsexchange", "WSExchange", "WSExchangeSoap"); Прокси.Пользователь = "Администратор"; Прокси.Пароль = ""; ДанныеФайла = Прокси.GetDayData(ВыбДата); Если ДанныеФайла = Неопределено Тогда Возврат; КонецЕсли; ДанныеФайла.Записать("D:\123456789.zip"); |
|||
3
Mafoni
08.10.12
✎
15:04
|
у меня была схожая проблема !
писал изначально вот так http://localhost/myDB3/wshello.1cws физически файло 1cws лежит в каталоге myDB3 - но выдавало ошибку. Добрые люди посоветовали написать вот так - http://localhost/myDB3/ws/wshello.1cws - работает на УРА ! |
|||
4
tp_home
08.10.12
✎
15:06
|
(1) пробовал и с объектом в конфигурации (см пример выше, где объект в конфигурации называется BI) и без. и там и там ругается.
(2) а можно поподробнее по первой строке, что это за функционал? |
|||
5
tp_home
08.10.12
✎
15:08
|
(3) насколько я понял 1cws нужен для версии 8.1
Прошу прощения, что не указал свою версию изначально: 8.2 (8.2.15.310) |
|||
6
Mafoni
08.10.12
✎
15:10
|
5 - не совсем понял что значит нужен для версии 8.1 !!! Эт как ???
|
|||
7
ProgAL
08.10.12
✎
15:11
|
2 раза в строке адреса ws повторить если для 8-2.
|
|||
8
Mafoni
08.10.12
✎
15:12
|
(7) - у мну 8.2
|
|||
9
Balonbl4
08.10.12
✎
15:21
|
(0) Что-то вы темните, у меня ваша ссылка отлично подключилась: http://dl.dropbox.com/u/7720336/ws.png
|
|||
10
tp_home
08.10.12
✎
15:31
|
(9) у меня она тоже подключается))))
а вот когда метод СервисПрокси = WSСсылки.BI.СоздатьWSПрокси(ПространствоИмен, ИмяСервиса, ИмяПорта) делаешь, то получаю ошибку Сервис не найден. {http://81.23.4.250:89}:UserService ... с этим и борюсь... вроде как угадал все буквы, а слова произнести не могу... |
|||
11
tp_home
08.10.12
✎
15:32
|
(8) на каком то из форумов вычитал.. к сожалению уже закрыл вкладку, потому как хром просто отказался работать от количества закладок))
|
|||
12
Balonbl4
08.10.12
✎
15:35
|
UserServiceSoap - и имя сервиса и имя порта
|
|||
13
Fragster
гуру
08.10.12
✎
15:37
|
Определение = Новый WSОпределения(СсылкаНаОпределение);
//Для каждого Сервис Из Определение.Сервисы Цикл // Сообщить(Сервис.Имя); // // Для каждого ТочкаПодключения Из Сервис.ТочкиПодключения Цикл // Сообщить(ТочкаПодключения.Имя, СтатусСообщения.БезСтатуса); // Для каждого Операция Из ТочкаПодключения.Интерфейс.Операции Цикл // ВозвращаемоеЗначение = Операция.ВозвращаемоеЗначение; // Сообщить(Операция.Имя + " " + ВозвращаемоеЗначение.Тип + " " + ВозвращаемоеЗначение.ВозможноПустое + " " + ВозвращаемоеЗначение.Документация); // Для каждого Параметр Из Операция.Параметры Цикл // Сообщить(Символы.Таб + Параметр.Имя + " " + Параметр.НаправлениеПараметра + " " + Параметр.Тип + " пустой: " + Параметр.ВозможноПустой); // КонецЦикла; // КонецЦикла; // КонецЦикла; // //КонецЦикла; Сервис = Определение.Сервисы[0]; ТочкаПолключения = Сервис.ТочкиПодключения[0]; Прокси = Новый WSПрокси(Определение, "http://shop.n-l-e.xsd", Сервис.Имя, ТочкаПолключения.Имя); Фабрика = Определение.ФабрикаXDTO; Если Ложь Тогда Фабрика = ФабрикаXDTO КонецЕсли; ,,,,,,,,,,,,,,,, |
|||
14
Fragster
гуру
08.10.12
✎
15:40
|
у тебя почему-то в байндинге операции на боссинформер ссылаются что не верно, ИМХО
|
|||
15
tp_home
08.10.12
✎
15:43
|
(14) думаешь сразу написать туда 81.23.4.250?
|
|||
16
tp_home
08.10.12
✎
15:48
|
(13) воткнул
Определение = Новый WSОпределения(ПутьКWSDL); Для каждого Сервис Из Определение.Сервисы Цикл Сообщить(Сервис.Имя); КонецЦикла; СервисПрокси = Новый WSПрокси(Определение, ПространствоИмен, ИмяСервиса, ИмяПорта); Вывел в сообщения 1 строку и потом опять еррор... попробую через обращение к 0-вому элементу сейчас.. |
|||
17
Fragster
гуру
08.10.12
✎
16:11
|
(15) ну и порт, хотя по логике сам веб сервис должен правильный генерить.
(16) то, что у меня закомменчено - ошибок не выдает, если раскомментить и wsdl правильный. |
|||
18
tp_home
08.10.12
✎
16:32
|
(17) ага, не выдает ;)
ТочкаПоЛключения в ТочкаПолключения = Сервис.ТочкиПодключения[0]; Ну это мелочь)) |
|||
19
tp_home
08.10.12
✎
16:38
|
СервисПрокси = Новый WSПрокси(Определение, ПространствоИмен, Определение.Сервисы[0].Имя, Определение.Сервисы[0].ТочкиПодключения[0].Имя);
Не помогло.. |
|||
20
tp_home
08.10.12
✎
16:49
|
нда...
раскоментил.. UserService UserServiceSoap Get {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да GetReport {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да Put {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да UserServiceSoap12 Get {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да GetReport {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да Put {http://www.bossinformer.com/}UserResponse Да UserRequest Входной {http://www.bossinformer.com/}UserRequest пустой: Да Видимо действительно дело в ссылке на http://www.bossinformer.com/ Было ПространствоИмен = "http://81.23.4.250:89"; Стало ПространствоИмен = "http://www.bossinformer.com/" И все заработало!!! Спасибо всем, прошу прощения если что, удачи! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |