Description
At the moment, the gRPC QuerySummarySync
, QueryNotificationSync
and QueryResultSync
, when processing fails, will raise a python NsiException
which results in an GENERIC_INTERNAL_ERROR
in PolyNSI. The last mentioned error does contain the information from the NSIException
, but it is a bit crude, and breaks the NSI specification.
The proper way to implement this is to add a common.ServiceException service_exception
field to the QueryConfirmedRequest
, QueryNotificationConfirmedRequest
and QueryResultConfirmedRequest
, which are shared by the synchronous and asynchronous version of the different query requests, and have PolyNSI check for the existence of this field in the Protobuf message, and throw a ServiceException
that will send the appropriate SOAP fault to the requester.