Signed-off-by: Matt Coleman <matt(a)datto.com>
---
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;
}
--
2.30.0