diff --git a/Stack/Opc.Ua.Types/Utils/ServiceResult.cs b/Stack/Opc.Ua.Types/Utils/ServiceResult.cs index ea0f8001f..806540095 100644 --- a/Stack/Opc.Ua.Types/Utils/ServiceResult.cs +++ b/Stack/Opc.Ua.Types/Utils/ServiceResult.cs @@ -43,6 +43,15 @@ namespace Opc.Ua [DataContract(Namespace = Namespaces.OpcUaXsd)] public class ServiceResult { + /// + /// Get according ServiceResultException for ServiceResult + /// + /// ServiceResultException + public ServiceResultException GetServiceResultException() + { + return new ServiceResultException(this); + } + /// /// Constructs an object by specifying each property. /// diff --git a/Stack/Opc.Ua.Types/Utils/ServiceResultException.cs b/Stack/Opc.Ua.Types/Utils/ServiceResultException.cs index edb0d7312..138caba5c 100644 --- a/Stack/Opc.Ua.Types/Utils/ServiceResultException.cs +++ b/Stack/Opc.Ua.Types/Utils/ServiceResultException.cs @@ -115,7 +115,7 @@ public ServiceResultException(StatusCode statusCode, string message, Exception e /// Initializes the exception with a Result object. /// public ServiceResultException(ServiceResult status) - : base(GetMessage(status)) + : base(GetMessage(status), status.InnerResult != null ? status.InnerResult.GetServiceResultException() : null) { Result = status ?? ServiceResult.Bad; }