从Powershell调用时,如何从SoapServerException中检索详细信息?

时间:2016-11-17 00:45:38

标签: web-services powershell soap

每当我在Powershell中构建对SOAP Web服务端点的复杂web服务调用时出现任何错误,我都会收到神秘的& generic" SoapServerException"信息。

示例:

Exception calling "GetListItems" with "7" argument(s): "Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown."
At line:1 char:1
+ $spws.GetListItems($listName, $viewName, $xmlQueryStringNodeConverted ...

我知道此错误有更多细节,但我无法在PowerShell中查看它们。我怎么能得到它们?

1 个答案:

答案 0 :(得分:0)

感谢PetSerAI提供以下更好的答案

服务器响应的完整详细信息可能会被隐藏,但仍然可以在 $ Error 中访问 - 特别是,webservices往往有一个& #34;详情" innerexception下的属性,它作为额外属性添加到$ Error.Exception.InnerException。

在我的情况下,以下打印出更有用的错误消息:

PS C:\> $Error[0].Exception.InnerException.Detail.errorstring.'#text'

Element <QueryOptions> of parameter queryOptions is missing or invalid.

如果您仍然难以找到完整的异常详细信息,WireShark或Fiddler可以以更友好的格式向您显示Web服务服务器响应(即显示完整的XML,而不是手动导航Powershell中的$ Error变量)。 / p>