Это старая версия документа!
Первым шагом в процессе устранения ошибок является понимание того, откуда возникло сообщение об ошибке. Поэтому важно знать, какие компоненты участвуют в потоке сообщений:
Сообщения об ошибках могут генерироваться Серверами безопасности (2, 3) или информационной системой поставщика услуг (4). Сообщения об ошибках, генерируемые Security Server, имеют фиксированную структуру, зависящую от интерфейса (SOAP/REST). Однако сообщения об ошибках SOAP и REST содержат одну и ту же информацию независимо от интерфейса обмена сообщениями. Сообщения об ошибках, генерируемые Security Server, содержат три поля:
Например, сообщение об ошибке, сгенерированное прокси-сервером клиента на Security Server (2) на стороне потребителя:
{
"type":"Server.ClientProxy.SslAuthenticationFailed",
"message":"Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate",
"detail":"2ea02d93-e0b8-4e2b-8c6e-fac20f53a3e3"
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<error>
<type>Server.ClientProxy.SslAuthenticationFailed</type>
<message>Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate</message>
<detail>2ea02d93-e0b8-4e2b-8c6e-fac20f53a3e3</detail>
</error>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>Server.ClientProxy.SslAuthenticationFailed</faultcode>
<faultstring>Client (SUBSYSTEM:PLAYGROUND/COM/1234567-8/TestClient) specifies HTTPS but did not supply TLS certificate</faultstring>
<faultactor />
<detail>
<faultDetail>b782c3a4-f279-43d1-8684-2af318ec2ca5</faultDetail>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Также могут возникать ошибки в информационной системе поставщика услуг (4). В этом случае поставщик услуг (4) может вернуть любое пользовательское сообщение об ошибке, если оно соответствует протоколу сообщений X-Road. В случае, если сообщение об ошибке возвращается и не соответствует структуре, представленной выше, ошибка была сгенерирована информационной системой поставщика услуг (4).
В таблице ниже приведены наиболее распространенные сообщения об ошибках, исходящие от Security Server (2) на стороне потребителя, и их описания.
| Код ошибки (тип/код ошибки) | Сообщение об ошибке (message/faultString) | Описание |
| Server.ClientProxy.UnknownMember | Запрос содержит недопустимый идентификатор клиента или службы. | |
| Client 'SUBSYSTEM:instanceIdentifier/memberClass/memberCode/subsystemCode' not found | В случае, если клиент не найден, клиент, указанный в запросе, не зарегистрирован на Сервере безопасности на стороне потребителя (2). Подробнее о регистрации клиентов можно узнать тут Регистрация клиента сервера безопасности | |
| Could not find addresses for service provider 'SERVICE:instanceIdentifier/memberClass/memberCode/subsystemCode/serviceCode' | В случае, если адреса для поставщика услуг не найдены, в идентификаторе услуги есть ошибка. Убедитесь, что значение идентификатора услуги в запросе верное и соответствует информации, зарегистрированной на Сервере безопасности поставщика услуги (3). | |
| Server.ClientProxy.NetworkError | ||
| Could not connect to any target host https://TARGET_HOST:5500 | Сервер безопасности на стороне потребителя (2) не может установить сетевое соединение с сервером безопасности на стороне поставщика (3). Проблема обычно вызвана неправильными настройками брандмауэра. На стороне потребителя Security Server (2) должен быть разрешен исходящий трафик на порты 5500 и 5577 Security Server (3) на стороне провайдера. На стороне провайдера Security Server (3) должен быть разрешен входящий трафик на порты 5500 и 5577 от Security Server (2) на стороне потребителя. Дополнительную информацию о необходимых конфигурациях брандмауэра можно найти в руководствах по установке Security Server для Ubuntu - https://github.com/nordic-institute/X-Road/blob/develop/doc/Manuals/ig-ss_x-road_v6_security_server_installation_guide.md#221-network-diagram. | |
| Name or service not known. No address associated with hostname. | Поиск DNS на стороне провайдера Security Server (3) завершается ошибкой, так как сервер зарегистрирован с неправильным общедоступным полным доменным именем. Свяжитесь с администратором Security Server на стороне провайдера (3). | |
| Server.ClientProxy.CannotCreateSignature.Signer.TokenNotActive |