From: Matt Coleman Date: Tue, 2 Feb 2021 00:48:47 +0000 (-0500) Subject: hyperv: provide a more detailed error message for WSMan faults X-Git-Tag: v7.1.0-rc1~364 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c45c912840f52605e765a313bdaa90d3d3b732de;p=thirdparty%2Flibvirt.git hyperv: provide a more detailed error message for WSMan faults Signed-off-by: Matt Coleman Reviewed-by: Michal Privoznik --- 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; }