| 
    
        
     
     | 
    
  | 
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 
 | 
         
        так я тоже пробовал..не получилось..проблема была решена после того как переименовал имя пользователя на транслит.)))спасибо большое за инфу про русские буквы)))     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |