From c45c912840f52605e765a313bdaa90d3d3b732de Mon Sep 17 00:00:00 2001 From: Matt Coleman Date: Mon, 1 Feb 2021 19:48:47 -0500 Subject: [PATCH] hyperv: provide a more detailed error message for WSMan faults Signed-off-by: Matt Coleman Reviewed-by: Michal Privoznik --- src/hyperv/hyperv_wmi.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c index 4c1bd5e0d2..c14ff0e64a 100644 --- a/src/hyperv/hyperv_wmi.c +++ b/src/hyperv/hyperv_wmi.c @@ -789,9 +789,18 @@ hypervInvokeMethod(hypervPrivate *priv, returnValue = ws_xml_get_xpath_value(response, returnValue_xpath); if (!returnValue) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not get return value for %s invocation"), - params->method); + g_autofree char *faultReason_xpath = g_strdup("/s:Envelope/s:Body/s:Fault/s:Reason/s:Text"); + g_autofree char *faultReason = ws_xml_get_xpath_value(response, faultReason_xpath); + + if (faultReason) + virReportError(VIR_ERR_INTERNAL_ERROR, + _("WS-Management fault during %s invocation: %s"), + params->method, faultReason); + else + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not get return value for %s invocation"), + params->method); + return -1; }