【发布时间】:2013-09-17 06:17:50
【问题描述】:
Invoke-RestMethod 调用在下面仅返回非常无用的异常,并且(据我所知)不允许您收集正文内容(提琴手跟踪结果中显示的 JSON 对象)。如果是这样的话,这似乎是一个非常糟糕的实现,因为 http 500 定义非常具体,客户端应该返回响应的主体以帮助排除故障......我错过了什么吗?
invoke-restmethod -method Post -uri "https://api-stage.enviance.com/ver2/EqlService.svc/eql" -Body (ConvertTo-Json $eqlhash) -Headers @{"Authorization"="Enviance $session"}
invoke-restmethod : 远程服务器返回错误: (500) 内部服务器错误。在 line:1 char:9...
下面的提琴手踪迹
HTTP/1.1 500 内部服务器错误连接:关闭日期:9 月 12 日星期四 2013 年 17:35:00 GMT 服务器:Microsoft-IIS/6.0 X-Powered-By:ASP.NET X-AspNet 版本:2.0.50727 EnvApi 版本:2.0,2.0 EnvApi-Remaining-Calls:994,994 EnvApi-Remaining-Interval:2684,2684 Cache-Control: no-cache Pragma: no-cache Expires: -1 Content-Type: 文本/csv;字符集=utf-8
{"errorNumber":0,"message":"当前用户无权检索 表 'CustomFieldTemplate' 中的数据"}
【问题讨论】:
-
invoke-webrequest 中的同样问题
-
“powershell 4.0 中的新增功能表明(可能)此问题是一个错误并已修复。technet.microsoft.com/en-us/library/hh857339.aspx#BKMK_bugs 在值得注意的错误修复部分下:Invoke-RestMethod cmdlet 现在返回所有可用的结果。