Имя: Пароль:
1C
1С v8
Проблема с вэб-сервисом на apache
,
0 geek
 
12.03.14
22:27
Добрый вечер!

Сделал простой веб-сервис, который принимает два параметра на вход, и складывает в базу. В базе без созданных пользователей, все работает, в базе, где созданы два пользователя (user, Администратор) с полными правами, при попытке обратиться к методу сервиса выдает ошибку:

Ошибка вызова операции: {(1)}: Ошибка при вызове метода контекста (InputData): Ошибка вызова операции сервиса:  {http://www.sample-package.org}:Input:InputData(): Ошибка SOAP сервера:  Web-service operation access violation:  {http://www.sample-package.org}:Input:InputData()
Ошибка выполнения операции!

Может кто-то сталкивался с тем, как аутентифицироваться на апаче?
1 geek
 
12.03.14
22:31
<?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="/WSConf"
        ib="File=&quot;E:\1cBases\WSConf&quot;;Usr=&quot;user&quot;;Pwd=&quot;&quot;;">
    <ws>
        <point name="Input"
                alias="input.1cws"
                enable="true"/>
    </ws>
</point>


Файлик default.vrd

Может я не так указал что-то в этом файле?
2 banco
 
12.03.14
22:34
(0) может прав нет на операцию веб сервиса?
3 IOL
 
12.03.14
22:36
А кто сказал, что апач не может авторизоваться, запроси whdl схему, посмотри там будет как нужно авторизацию передать.
4 IOL
 
12.03.14
22:36
Ну и (2)
5 geek
 
12.03.14
22:38
(2) Прав у пользователя 1с? Где это посмотреть?
6 geek
 
12.03.14
22:40
Вот кусок кода по вызову метода:

Попытка
        
        WSОпределение = Новый WSОпределения(WSURLWSDL, WSПользователь, WSПароль);
        WSПрокси = Новый WSПрокси(WSОпределение, WSURIПространстваИмен, WSИмяСервиса, WSИмяТочкиПодключения);
        WSПрокси.Пользователь = WSПользователь;
        WSПрокси.Пароль = WSПароль;
        
        СтрокаПараметров = "";
        Если Не ЗаполнитьСписокWSПараметров(WSПрокси, СтрокаПараметров) Тогда
            Возврат;
        КонецЕсли;
        
        ВозвращаемоеЗначение = ВыполнитьWSОперацию(WSПрокси, СтрокаПараметров);
        Если Не WSВозвращаемоеЗначениеВозможноПустое И Неопределено = ВозвращаемоеЗначение Тогда
            СообщитьОбОшибке("Ошибка выполнения операции!");
            Возврат;
        КонецЕсли;
        
        Если ТипЗнч(ВозвращаемоеЗначение) = Тип("ОбъектXDTO") Тогда
            
            Сериализатор = Новый СериализаторXDTO(WSПрокси.ФабрикаXDTO);
            Запись = Новый ЗаписьXML;
            ИмяВременногоФайла = ПолучитьИмяВременногоФайла(".xml");
            Запись.ОткрытьФайл(ИмяВременногоФайла);
            Сериализатор.Фабрика.ЗаписатьXML(Запись, ВозвращаемоеЗначение);
            Запись.Закрыть();
            
            Текст = Новый ТекстовыйДокумент;
            Текст.Прочитать(ИмяВременногоФайла);
            
            ЭлементыФормы.ДокументРезультат.УстановитьТекст(Текст.ПолучитьТекст());
            ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ЭлементыФормы.ОсновнаяПанель.Страницы.Результат;
            
            УдалитьФайлы(ИмяВременногоФайла);
            
        КонецЕсли;
        
    Исключение
        СообщитьОбОшибке(ОписаниеОшибки());
    КонецПопытки;
7 IOL
 
12.03.14
22:42
(6) у пользователя имя/пароль есть? Ему стоит права на использование веб сервисов?
8 geek
 
12.03.14
22:45
У меня пустая конфигурация. Создал пользователя с полными правами. В рамках роли "полные права" установил все галочки. Веб-сервиса (галочки) не вижу, должна быть?

Имею следующее:

http://puu.sh/7sNt1.png
9 geek
 
12.03.14
22:49
Спасибо всем огромное!

Конкретно для веб-сервиса не стояла галка "использование" у роли.
10 IOL
 
12.03.14
22:50
(9) Ура!!!

Но только сумасшедший дает вебсервису полные права :-)))
11 geek
 
12.03.14
22:59
(10) Знаю, пока это тестовая среда. На продакшне все должно быть хорошо.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.