New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
evilless63 opened this issue
Jan 21, 2020
· 9 comments
Comments
При попытки подписи входящего документа возникает ошибка code:409, HTTP error: Текущее состояние документа не позволяет его подписать
Получаем документ по его идентификатору (который записался в реквизит в момент получения документа в 1с)
Document = Organization.GetDocumentById(Документ.va_ИдентификаторДокументаЭДО);
Далее
ReplySendTask = Document.CreateReplySendTask2(«AcceptDocument»);
UTD = ReplySendTask.ContentItems.getItem(0).Content.UniversalTransferDocumentBuyerTitle;
UTD.DocumentCreator = Document.Organization.Name;
UTD.OperationContent = «Утверждение документа»;
Signers = UTD.Signers;
NewSigner = Signers.AddItems();
NewSigner.SignerReference.BoxId = Organization.Id;
NewSigner.SignerReference.certificateThumbprint = Organization.Certificate.thumbprint;
ReplySendTask.Send();
Прошу помочь с решением
Документы уже подписали в системе вручную…
Проблема сохранилась. Прошу помочь с решением.
@evilless63 здравствуйте
Можете предоставить
- ссылку на документ, на котором воспроизводится ошибка
- BoxId
- значение переменной ИдентификаторДокументаЭДО
Можете подсказать еще версию компоненты?
То есть, это разные документы ?
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Ошибка HTTP 409 Conflicting Request – это конфликт между запросом пользователя и сервером, к которому он обращается. Например, есть сайт, с которого пользователь хочет скачать файл с названием «файл1», но этот файл раньше был на сервере и его упоминание сохранилось в кеше. Однако, теперь файл называется “файл01» и сервер не понимает, что пользователь хочет от него. Это очень образный пример для того, чтобы максимально понятно определить значение ошибки.
Ситуации при которых возникает ошибка 409 HTTP сильно разнятся, но сводятся к конфликту между запросами. Иногда, задавая запрос, браузер сам уходит в цикличную обработку, и он либо закрывается, либо виснет так, что пользователю ничего не остается, как просто перезагрузить компьютер. Это явление часто замечают пользователи браузера Mozilla и Opera.
Выше упоминалось, что природа происхождения ошибки 409 кроется в конфликте запросов. Не всегда эти запросы относятся к пользовательским. Например, такая ошибка может возникнуть при конфликте файлов сайта, если они обращаются к разным данным в одном файле. В результате этого, сервер возвращает ошибку, которая на самом деле не имеет отношения к запросам пользователей.
Основные причины возникновения ошибки 409:
- Пользователь обращается к данным, имеющим отличное значение или более новую версию. В итоге, сервер выдает ошибку 409, т.к. существует обновленная версия файла, страницы или скрипта.
- Ошибка 409 появилась в результате конфликтующих запросов внутри файлов на сервере. Решить проблему может программист.
- Использование прокси, которое конфликтует с определенными адресами или форматами запрашиваемых данных. Не путайте эту ошибку с ошибкой 407.
- Более распространенная причина – троян или вирус, который блокирует запросы к определенным сайтам или подгружает файл, который имеет конфликт с конфигурацией браузера.
Ошибка 409 Conflicting Request в большинстве случае решается системным администратором или программистом, если это не касается заражения компьютера вирусом или трояном. Как проверить и какой программой расскажем ниже.
Как исправить ошибку 409 (Conflicting Request – Конфликт запросов)?
На некоторых сайтах приведен целый список шагов для устранения ошибки 409. Вот только проблема в том, что это не имеет смысла, т.к. эта ошибка касается программистов или разработчиков сайта / приложения. Конечный пользователь не сможет исправить ошибку 409, если только это не касается вируса или трояна.
- Чистим от вируса или трояна, чтобы убрать ошибку 409
Определить вирус/троян у вас или нет просто – установите программу Cureit от Dr.Web и просканируйте систему этой программой. Она бесплатная и не требует установки. Скачиваем только с официального сайта. В программе отмечаем все пункты для проверки и шагаем спать/на работу, т.к. сама проверка займет длительное время. На скриншоте ниже вы можете рассмотреть, как и что отмечать в программе. Свой антивирус лучше отключить перед проверкой.
Чистим от вируса или трояна, чтобы убрать ошибку 409
Можно также использовать бесплатную утилиту от Касперского, но она довольно сложная и нужно понимать, какие скрипты вводить в консоль. Остальные программы – платные, поэтому не пишу о них. Кстати, не рекомендую скачивать бесплатные ключи, т.к. такие генераторы могут с собой принести тот самый вирус или троян. Не пожалейте 30$ в год за нормальную защиту.
- Исправляем ошибку 409 в конкретном браузере
В случае, если ошибка 409 Conflicting Request появляется буквально на каждом сайте, чтобы вы ни нажимали – это точно троян или вирус. Причем это должно происходить в любом браузере. Если нет – можете сразу удалить и заново установить браузер. Возможно произошел сбой конфигурации браузера.
Перед удалением браузера сохраните закладки!
Заранее нужно сохранить закладки, т.к. можно потерять все нажитое непосильным трудом. Делается это просто. На скриншоте выше вы видите пример сохранения настроек в браузере Mozilla. Аналогично делается и в остальных браузерах.
- Ошибка 409 в результате правок на сайте
Если вы являетесь администратором сайта или программистом… Вы знаете, что такое бэкап и как им пользоваться. Если не знаете – спросите в комментариях. Что с ним делать? Думаю, ответ знаете сами.
Последнее слово про ошибку
Ошибка 409 HTTP Conflicting Request редко относится к пользователю, если только это не вирус или троян. Почти 80% случаев с этой ошибкой касается разработчиков, поэтому разбираться в этом нужно точно не обычному пользователю. Все советы про чистку реестра и прочее – не актуальны. Это не относится к этой ошибке.
Если уж сильно хочется – установите программу CCleaner и пройдитесь по реестру с помощью этой программы. Во всяком случае это безопаснее, чем делать что-то лично ручками. Манипуляции с компьютером в случае с ошибкой 409 делать не стоит.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
- Authenticate v1
- Authenticate v2
Authenticate v1¶
Имя ресурса: /Authenticate
HTTP метод: POST
Параметры строки запроса:
- login: имя учетной записи пользователя при авторизации по логину/паролю (может отсутствовать);
- password: пароль учетной записи пользователя при авторизации по логину/паролю (обязателен при наличии параметра login);
- key: ключ, полученный доверенным сервисом (может отсутствовать);
- id: идентификатор пользователя доверенного сервиса (обязателен при наличии параметра key);
Тело запроса:
- в случае авторизации по сертификату должно содержать X.509 сертификат пользователя, сериализованный в DER.
- в остальных случаях должно быть пустым
HTTP-заголовки:
Authorization
с параметром ddauth_api_client_id (обязательный, см. раздел Авторизация).
Для аутентификации по ключу, полученному доверенным сервисом, нужно передать этот ключ в параметре key (не поддерживается при аутентификации по сертификату).
В случае успешного выполнения запроса:
- если авторизация производится по логину/паролю или по ключу, полученному доверенным сервисом, тело ответа следует интерпретировать как строку в кодировке UTF-8, содержащую авторизационный токен;
- если авторизация производится по сертификату, то выдаваемый токен будет зашифрован в адрес пользовательского сертификата. В этом случае тело ответа следует интерпретировать как структуру CMS EnvelopedData в DER-кодировке;
В случае авторизации по логину/паролю с указанием ключа, полученного доверенным сервисом, привязка пользователя доверенного сервиса сохраняется автоматически (см. описание привязки в методе AuthenticateConfirm).
Возможные HTTP-коды возврата:
- 200 (OK) — операция успешно завершена;
- 400 (Bad Request) — данные в запросе имеют неверный формат или отсутствуют обязательные параметры;
- 401 (Unauthorized) — в запросе отсутствует HTTP-заголовок
Authorization
, или в этом заголовке отсутствует параметр ddauth_api_client_id, или переданный в нем ключ разработчика не зарегистрирован в Диадоке; - 405 (Method not allowed) — используется неподходящий HTTP-метод;
- 500 (Internal server error) — при обработке запроса возникла непредвиденная ошибка.
Authenticate v2¶
Имя ресурса: /V2/Authenticate
HTTP метод: POST
Параметры строки запроса:
- login: имя учетной записи пользователя при авторизации по логину/паролю (может отсутствовать);
- password: пароль учетной записи пользователя при авторизации по логину/паролю (обязателен при наличии параметра login);
- key: ключ, полученный доверенным сервисом (может отсутствовать);
- id: идентификатор пользователя доверенного сервиса (обязателен при наличии параметра key);
Тело запроса:
- в случае авторизации по сертификату должно содержать X.509 сертификат пользователя, сериализованный в DER.
- в остальных случаях тело запроса должно быть пустым
HTTP-заголовки:
Authorization
с параметром ddauth_api_client_id (обязательный, см. раздел Авторизация).
Для аутентификации по ключу, полученному доверенным сервисом, нужно передать этот ключ в параметре key (не поддерживается при аутентификации по сертификату).
В случае успешного выполнения запроса:
- если авторизация производится по логину/паролю или по ключу, полученному доверенным сервисом, тело ответа следует интерпретировать как строку в кодировке UTF-8, содержащую авторизационный токен;
- авторизация по сертификату является двухфазной. В этом случае ответ следует интерпретировать как зашифрованную строку. Для получения авторизационного токена необходимо расшифровать ее сертификатом с закрытым ключом и подтвердить расшифровку с помощью запроса AuthenticateConfirm;
В случае авторизации по логину/паролю с указанием ключа, полученного доверенным сервисом, привязка пользователя доверенного сервиса сохраняется автоматически (см. описание привязки в методе AuthenticateConfirm).
Возможные HTTP-коды возврата:
- 200 (OK) — операция успешно завершена;
- 400 (Bad Request) — данные в запросе имеют неверный формат или отсутствуют обязательные параметры;
- 401 (Unauthorized) — в запросе отсутствует HTTP-заголовок
Authorization
, или в этом заголовке отсутствует параметр ddauth_api_client_id, или переданный в нем ключ разработчика не зарегистрирован в Диадоке; - 405 (Method not allowed) — используется неподходящий HTTP-метод;
- 500 (Internal server error) — при обработке запроса возникла непредвиденная ошибка.