Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Web-сервис. Ошибка 400

Web-сервис. Ошибка 400
Я
   1CNachalo
 
12.12.20 - 21:21
Есть веб-сервис и общая команда. В общей команде код:

Попытка
        ВСОпределение = Новый WSОпределения("http://192.168.___.__/t10/ws/OD.1cws?wsdl";;); //#1
        ВСервер = ВСОпределение.Сервисы.Получить("OD","OD");
        ВТочкаВхода = ВСервер.ТочкиПодключения.Получить("ODSoap");
        ВТОперация = ВТочкаВхода.Интерфейс.Операции.Получить("Sinhron");
        Данные = Новый ХранилищеЗначения("Некие данные",Новый СжатиеДанных(9));
        ДанныеXDTO = ВСОпределение.ФабрикаXDTO.Создать(ВТОперация.Параметры.Получить("Dan").Тип,Данные);
        ВСПрокси = Новый WSПрокси(ВСОпределение,"OD","OD","ODSoap");
        Ответ = ВСПрокси.Синхронизация(ДанныеXDTO);    
        Возврат Истина;    
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат Ложь;    
    КонецПопытки;

При нажатии на кнопку ВыполнитьСинхронизацию сначала было все хорошо, т.е. выполнение шло по ветке Попытка, до Ответ доходило точно, в ветку Исключение выполнение не переходило.

Но затем, не понятно почему, при очередном тестировании кнопки с общей командой, сразу после прохождения строки кода #1 выполнение стало переходить к Исключению и в
результате — ошибка (указывает именно на эту строку кода (выше) и код ошибки 400).

(1с и Apache2.2 переустановил -- не помогло)

При этом базу в браузере вижу, xml-файл тоже.
————————————
Примерно в момент возникновения этой ошибки началось следующее: даже если база нигде не открыта (ни в браузере, ни на ПК), выдается сообщение: “Достигнуто предельное количество подключений к ИБ”. Чтобы выходить из этой ситуации приходится часто чистить кэш и останавливать сервер.

Что это может быть? Как исправить?
 
 Партнерская программа EFSOL Oblako
   SuperMario
 
1 - 12.12.20 - 21:43
Старо как Мир - это код ответа HTTP, который означает, что сервер не смог обработать запрос)

Залезьте каким-нить SOAPUI по ссылке "http://192.168.___.__/t10/ws/OD.1cws?wsdl"; (или вставьте в браузер)

Что в ответ?
   1CNachalo
 
2 - 12.12.20 - 21:54
В ответ в браузере xml-схема.
   SuperMario
 
3 - 12.12.20 - 22:35
(2) сори. Не дочитал полностью (0)
   1CNachalo
 
4 - 13.12.20 - 13:14
Вбил неверный адрес http://192.168.___.__/t10/ws/OD?wsdl
Т.е. не OD.1cws?wsd, а OD?wsd -- всё равно дает xml-схему. Это как вообще? Может ошибка связана как-то с этим?
   acht
 
5 - 13.12.20 - 14:08
Приведи полный текст ошибки, которое выбрасывает исключение.
Вангую, что у тебя учебная платформа и в пуле застревает твой же предыдущий сеанс.
   1CNachalo
 
6 - 13.12.20 - 16:02
(5) Платформа учебная. Да, есть ощущение, что действительно застревает предыдущий сеанс. Но что с этим делать?
----------
{ОбщаяКоманда.ВыполнитьСинхронизацию.МодульКоманды(15)}:Ошибка при вызове конструктора (WSОпределения): при создании описания сервиса произошла ошибка URL: http://192.168.___.__/t10/ws/OD.1cws?wsdl Код ответа сервера: 400
   acht
 
7 - 13.12.20 - 20:28
(6) В файле default.vrd установить размер пула в 1 и время жизни соединения в пула во что нибудь минимальное.
   SuperMario
 
8 - 13.12.20 - 22:31
Припоминаю, у меня подобное было  когда-то с базовой БП 3.0.
Она локально/однопользовательская. Начались проблемы с работой через WEB, когда там пользователь работает.

Был уверен, что WEB/HTTP сервисы не  занимают клиентскую лицензию. Но практика показала обратное.

У учебной версии то же самое: "количество одновременных сеансов работы с информационной базой ограничено одним сеансом".

Случайно никто в это время  не работает в  базе (http://192.168.___.__/t10) когда соединение поднимается?

Вот что пишет:

https://forum.infostart.ru/forum9/topic128169/
   seevkik
 
9 - 14.12.20 - 04:05
(8) Они занимают лицензию во время выполнения запроса
   1CNachalo
 
10 - 14.12.20 - 08:36
(7) Т.е в файле изначально 2 таких фрагмента:
<>
poolSize="10"
poolTimeout="5"/>
</>
Исправляю в обоих на 
<>
poolSize="1"
poolTimeout="1"/>
</>
Пока дает ту же ошибку.
   1CNachalo
 
11 - 14.12.20 - 08:38
(8) Случайно никто в это время  не работает в  базе (http://192.168.___.__/t10) когда соединение поднимается?
------------------------------
Не, я ж тут вообще один, сижу, тренируюсь, застрял.
   1CNachalo
 
12 - 14.12.20 - 08:41
(9) Что именно занимает лицензию?
И как это исправить?
Как-то работало до определенного момента, переходило дальше по функции, ошибку не давало. Потом резко -- ошибка 400.
   acht
 
13 - 14.12.20 - 08:45
(10) > изначально 2 таких фрагмента
Там больше двух. В standardOdata, в ws, в httpServices и в pool. В последнем оно size и maxAge, а не то, что ты поставил
   1CNachalo
 
14 - 14.12.20 - 12:56
(13) Не нахожу. У меня вот так:

<?xml version="1.0" encoding="UTF-8"?>   //1
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"; //2
        xmlns:xs="http://www.w3.org/2001/XMLSchema"//3
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"//4
        base="/t10"//5

        ib="File=&quot;D:\1C\тест\кр6&quot;;">//6

    <debug enable="true"//7

            protocol="http"//8

            url="192.168.___._"/>//9

    <httpServices publishByDefault="false"/>//10

    <standardOdata enable="true"//11

            reuseSessions="autouse"//12

            sessionMaxAge="1"//13 было 20 

            poolSize="1"    //14 было 10

            poolTimeout="1"/>//15 было 5

    <analytics enable="true"/>//16

    <ws>//17

        <point name="OD"//18

                alias="OD.1cws"//19

                enable="true"//20

                reuseSessions="autouse"//21

                sessionMaxAge="1"      //22 было 20 

                poolSize="1"          //23 было 10 

                poolTimeout="1"/>      //24 было 5

    </ws>//25

</point>//26

Что нужно исправить? Ошибку пока выдает ту же
   acht
 
15 - 14.12.20 - 13:09
   1CNachalo
 
16 - 14.12.20 - 18:27
(15) пример из статьи
<pool  size="50" maxAge="10" attempts="2"  attepmtTimeout="1"
waitTimeout="1"/>
ставлю в standardOdata, в ws, в httpServices и в pool.
Получаю так 
<?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="/fm"
        ib="File=&quot;D:\1C\тест\WebSer_активныеСистемы&quot;;">
    <debug enable="true"
            protocol="http"
            url="127.0.0.1"/>
    <ws enable="false" poolsize="5" maxAge="1" attempts="2"  attepmtTimeout="1"
waitTimeout="1"/>
    <httpServices publishByDefault="false" poolsize="5" maxAge="1" attempts="2"  attepmtTimeout="1"
waitTimeout="1"/>
    <standardOdata enable="true"
            reuseSessions="autouse"
            sessionMaxAge="2"
            poolSize="1"
            poolTimeout="5"/>
    <analytics enable="true"/>
</point>

Список тем форума
 
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.