|
Web-сервис, что дальше? | ☑ | ||
---|---|---|---|---|
0
Zixxx
01.08.11
✎
10:49
|
Опубликовал web-сервис, получился файл vrd следующего содержания.
<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; base="/base" ib="Srvr="188.40.48.171";Ref="gt_trade";"> <ws enable="false"> <point name="Files" alias="ws1.1cws"/> </ws> </point> В конфигураторе создал web-сервис "ОбменССайтом" URI пространства имен у него "http://188.40.48.171:81/base", имя файла публикации "ws1.1cws", в модуле функция "Возврат 123;" http://188.40.48.171:81/base/ws1.1cws?wsdl - пишет файл не обнаружен Как проверить работает или нет? |
|||
1
Zixxx
01.08.11
✎
10:58
|
fg
|
|||
2
SeraFim
01.08.11
✎
10:58
|
почему enable="false"?
Версия платформы? в 8.2 для веб-сервисов нужно еще дополнительно /ws подписать. то есть http://188.40.48.171:81/base/ws/ws1.1cws?wsdl не знаю почему, но я нигде в книжках про это не нашел. сделать сделали, а продокументировать забыли |
|||
3
Zixxx
01.08.11
✎
11:13
|
(2) Исправил, теперь по этому пути http://188.40.48.171:81/base/ws/ws1.1cws?wsdl выдает какую-то xml-ку
|
|||
4
Zixxx
01.08.11
✎
11:13
|
(2) версия 82
|
|||
5
Zixxx
01.08.11
✎
11:54
|
Насколько я понял сервис работает, какими методами теперь можно протестировать его работу на получение?
|
|||
6
Zixxx
01.08.11
✎
12:12
|
ап
|
|||
7
SeraFim
01.08.11
✎
12:29
|
(3) все верно
что делать дальше - зависит от целей и желания) работу можно проверить и на самой 1Ске - в книжках хорошо расписано. судя по названию "ОбменССайтом" - тебя их интересует использование в php. Кури SoapClient. |
|||
8
Zixxx
01.08.11
✎
12:35
|
(7) Пока нужно проверить у себя на самой 1Ске, все что нарыл в инете и в примерах это
Определения = Новый WSОпределения("http://188.40.48.171:81/base/ws/ws1.1cws?wsdl"); Прокси = Новый WSПрокси(Определения, "http://188.40.48.171:81/base", "ОбменССайтом", "ОбменССайтомSoap"); Возврат Прокси.Получить(); Но выдает ошибку метод объекта "Получить" не определен :( |
|||
9
Scooter
01.08.11
✎
12:36
|
(8)а какой метод у тебя определен?
|
|||
10
Zixxx
01.08.11
✎
12:41
|
(9) Есть web-сервис
"ОбменССайтом" "Тест" - операция - имя метода "Тест" (Возврат 123) "Получить" - параметр "Передать" - параметр |
|||
11
SeraFim
01.08.11
✎
13:05
|
ну так и вызывай этот метод с этими параметрами ;)
|
|||
12
Адинэснег
01.08.11
✎
13:05
|
(0)8.2 или 8.1?
|
|||
13
pavig
01.08.11
✎
13:21
|
(8) Юзай статическую WSСсылку
создаешь ее, потом жмешь "Импорт", проходишь ауентификацию базы-источника веб-сервиса, и у тебя появляется в объекте все описание опубликованного веб-сервиа. далее выполняешь что-то типа такого: Сервис = WSСсылки.WSСсылка_Тест.СоздатьWSПрокси("test_uri", "web_service", "web_serviceSoap"); Сервис.Пользователь = "admin"; Сервис.Пароль = "qwerty"; СервисБонус.test_operation(Парам1, Выход1); вот и все |
|||
14
pavig
01.08.11
✎
13:22
|
(13) фикс:
Сервис = WSСсылки.WSСсылка_Тест.СоздатьWSПрокси("test_uri", "web_service", "web_serviceSoap"); Сервис.Пользователь = "admin"; Сервис.Пароль = "qwerty"; Сервис.test_operation(Парам1, Выход1); |
|||
15
pavig
01.08.11
✎
13:25
|
(2) подскажи плиз какие книжки читал?
я вот докуемнтацию толковую вообще найти не могу |
|||
16
Zixxx
01.08.11
✎
13:25
|
Что означает "Направление передачи" в параметрах: Входной, Выходной, Входной - Выходной?
|
|||
17
pavig
01.08.11
✎
13:34
|
(16) Входной -- значит параметр на вход в алгоритм
выходной -- значит то, что ты хочешь вернуть после выполнения алгоритма кхм... |
|||
18
Zixxx
01.08.11
✎
13:37
|
Добавил в базу пользователя с полными правами, аутентификация не отрабатывает, стоит Apache 2.2
|
|||
19
pavig
01.08.11
✎
14:14
|
не может быть
|
|||
20
pavig
01.08.11
✎
14:15
|
пользователь и пароль верно написал?
|
|||
21
SeraFim
01.08.11
✎
15:23
|
(18) при аутентификации непосредственно в 1С, кириллица не работает, создавай логин/пароль на латинице.
в php с кириллицей проблем нет. (15) из книжек - только руководство красно-желтое) остальное сам, либо на куче разных форумов |
|||
22
Zixxx
01.08.11
✎
18:56
|
Все элементрано
Определения = Новый WSОпределения("http://188.40.48.171:81/base/ws/ws1.1cws?wsdl"); Прокси = Новый WSПрокси(Определения, "http://188.40.48.171:81/base", "ОбменССайтом", "ОбменССайтомSoap"); Прокси.Пользователь = "webservice"; Прокси.Пароль = "123"; Значение = Прокси.Тест(); Про аутентификацию с Apache я слышал что работать не будет, в общем сейчас с учетов вышенаписанного кода аутентификация не проходит. |
|||
23
SeraFim
02.08.11
✎
02:28
|
(22) что-то в коде не так, сам веб сервис работает. (попробуй подключиться к нему через браузер - увидишь)
по логике - при "Прокси = Новый WSПрокси(...)" будет произведено подключение к вебсервису и ты хапнешь всю его xml-структуру. однако, чтобы подключиться к нему, нужно задать логин/пароль. здесь же, они указываются после подключения. учись курить справку: Из WSDL файла Синтаксис: Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>) |
|||
24
Zixxx
02.08.11
✎
06:02
|
(23) Спасибо, переделал, ошибка изменилась...
Ошибка вызова операции сервиса: {http://188.40.48.171:81/base}:ОбменССайтом:Тест() по причине: Аутентификация пользователя не выполнена. <html> <head><title> A server error occurred. </title></head> <h1> User authentication failed. </h1> <hr/> An error occurred processing this request.</html> |
|||
25
SeraFim
02.08.11
✎
06:17
|
(24) я не телепат)
|
|||
26
Zixxx
02.08.11
✎
06:37
|
(25) Если зайти по этой ссылке...
http://188.40.48.171:81/base/ws/ws1.1cws?wsdl можно авторизоваться используя следующие данные: user: webservice password: 123 но если я делаю в 1с так: Определения = Новый WSОпределения("http://188.40.48.171:81/base/ws/ws1.1cws?wsdl", "webservice", "123"); Прокси = Новый WSПрокси(Определения, "http://188.40.48.171:81/base", "ОбменССайтом", "ОбменССайтомSoap"); то вываливаеться ошибка авторизации |
|||
27
SeraFim
02.08.11
✎
06:50
|
хм.. признаюсь честно - с авторизацией в веб-сервисах в 1Ске не разбирался. Проверил, на php с этим проблем не должно быть:
$webService = "http://188.40.48.171:81/base/ws/ws1.1cws?wsdl";
|
|||
28
Plastilin
17.08.11
✎
17:38
|
Скажите,так все таки у кого нибудь получилось с авторизацией?
|
|||
29
Serginio1
17.08.11
✎
17:43
|
После получения прокси
Прокси.Пользователь = "webservice"; Прокси.Пароль = "123"; |
|||
30
Plastilin
17.08.11
✎
17:48
|
у меня еще до получения прокси на wsопределении выдает ошибку.так понимаю надо прокси получить раньше..но тогда что указать в первом параметре,где должно быть wsопределение??
|
|||
31
Serginio1
17.08.11
✎
18:00
|
(30) А вручную по ссылке заходишь?
|
|||
32
Plastilin
17.08.11
✎
18:02
|
да.захожу..и авторизацию проходит нормально..
|
|||
33
Plastilin
17.08.11
✎
18:04
|
хотя вот такой еще момент.с гугл хрома все нормально заходит и авторизацию проходит,а если через эксплорер или мазилу то выскакивает окошко с логином\паролем, но когда я их туда ввожу, то к на сервис не заходит,а окошко опять выскакивает с запросом логина и пароля
|
|||
34
Serginio1
17.08.11
✎
18:07
|
Через эксплорер проблемы с русскими буквами
|
|||
35
Serginio1
17.08.11
✎
18:11
|
v8: web сервис авторизация 8.2
Попробуй прописать пароль и логин в default.vrd |
|||
36
Plastilin
17.08.11
✎
18:13
|
а без этого ни как??(не охота привязывать к одному пользователю авторизацию
|
|||
37
Serginio1
17.08.11
✎
18:22
|
Не знаю у меня проблем с логином и паролем нет. А какую ошибку выдает?
|
|||
38
Plastilin
17.08.11
✎
18:31
|
{ОбщийМодуль.ПолучитьДанныеОтгрузкиУдаленно.Модуль(2)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения("http://admin:123@localhost/ws/shipment.1cws?wsdl"); по причине: Аутентификация пользователя не выполнена. |
|||
39
Serginio1
17.08.11
✎
18:35
|
А почеловечески
Новый WSОпределения("http://localhost/ws/shipment.1cws?wsdl",admin,123); Смотри (22) |
|||
40
Plastilin
17.08.11
✎
18:39
|
так я тоже пробовал..не получилось..проблема была решена после того как переименовал имя пользователя на транслит.)))спасибо большое за инфу про русские буквы)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |