Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:38

Ошибка при обращении к вэб сервису

Автор vitasw, 26 сен 2017, 16:36

0 Пользователей и 1 гость просматривают эту тему.

vitasw

Здравствуйте. Пытаюсь достучаться к веб сервису. На выходе получаю ошибку и не могу ее интерпретировать.
Цитировать{ВнешняяОбработка.Тест_Ссылка.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (getCurrentDate)
   ДатаСервиса                 = Прокси.getCurrentDate();
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса:  {http://webservices.ali.softlets.com/2010/10}:PolicyService:getCurrentDate()
по причине:
При вызове веб-сервиса произошла ошибка. Ошибка HTTP:  HTTP Status 500 - Внутренняя ошибка сервера.
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:Server</faultcode><faultstring>SOAP header 'AuthenticationSoapHeader' was not found</faultstring><detail><ns2:ServiceExecutionException xmlns:ns2="http://webservices.ali.softlets.com/2010/10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" class="com.softlets.ali.webservices.ServiceExecutionException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false"><message>SOAP header 'AuthenticationSoapHeader' was not found</message><ns2:stackTrace><ns2:frame class="com.softlets.ali.webservices.AbstractService" file="AbstractService.java" line="71" method="authorizeUser"/><ns2:frame class="com.softlets.ali.webservices.PolicyService" file="PolicyService.java" line="299" method="getCurrentDate"/

Код:
ssl = Новый ЗащищенноеСоединениеOpenSSL(Неопределено,Неопределено);
ПространствоИмен = "http://webservices.ali.softlets.com/2010/10";
Прокси = WSСсылки.WSСсылка1.СоздатьWSПрокси(ПространствоИмен, "PolicyService", "PolicyServicePort",,,ssl);
Прокси.Пароль     = Пароль;
Прокси.Пользователь         = Логин;
        ДатаСервиса                 = Прокси.getCurrentDate();

Спасибо

ilyay

Посмотрите описание веб-сервиса. Не всегда можно сразу вызвать функцию. Иногда нужно сначала авторизоваться, а потом пользоваться api. А вообще, та сторона не смогла обработать запрос.

vitasw

Цитата: ilyay от 26 сен 2017, 17:04Иногда нужно сначала авторизоваться
Разве это не авторизация?
Цитата: vitasw от 26 сен 2017, 16:36Прокси.Пароль     = Пароль; Прокси.Пользователь         = Логин;

или могут быть еще какие-то методы авторизации? Если вы намекаете про параметры - то у этого метода нет параметров.

Цитата: ilyay от 26 сен 2017, 17:04А вообще, та сторона не смогла обработать запрос.
Спасибо, я тоже пришел к выводу, что не тут скорее на той стороне что-то не в порядке.

ilyay

Отдельный этап авторизации делают, чтобы для каждого запроса не передавать логин/пароль. Авторизовался - открылся сеанс. В рамках сеанса производится обмен. После окончания сеанса снова нужно авторизоваться.

Есть стандартные коды ошибок http. Например, 404 - страница не найдена. Ошибки 500 группы - ошибки сервера. По-хорошему, если ваш запрос некорректный, сервис должен был ответить, что запрос не корректный. А вместо этого пришла ошибка. Возможно, возникло исключение, и веб-сервер вернул 500-ю ошибку.

vitasw

Получил от разработчиков (через пятые руки) следующий ответ:
"судя по ответу системы, разработчики не передают в запросе заголовок с паролем и логином, т.е. нет AuthenticationSoapHeader"

ilyay


vitasw


ilyay

Если логин и пароль не устанавливать, то же самое?

vitasw

Странно. Да, тоже самое.
Добавлено: 29 сен 2017, 08:55


эээээ. А вообще, есть ли какие-то еще методы обратиться к веб сервису, но не через wsСсылку?
Такое ощущение, что 1С не формирует в xml часть с ацтентификацией, или формирует его не так как это ожидает сайт.
Вот и возникает вопрос, а может есть возможность как-то по другому обратиться?...

ilyay


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск