【发布时间】:2014-02-26 09:24:22
【问题描述】:
使用 Powershell,我如何使用 New-WebServiceProxy 连接到 WCF Web 服务,并检索包括 cookie 数据在内的响应标头信息?我在网上搜遍了,除了放弃使用 New-WebServiceProxy 之外,找不到任何相关信息。
我当前的 PS 脚本看起来像...
$authSvc = New-WebServiceProxy –Uri ‘http://myserver/Services/AuthenticationService.svc?WSDL’
$LoginResults = $true
$authSvc.Login('user1', 'abc123', $null, $true, $true, [ref] $LoginResults, [ref] $null)
... 似乎 New-WebServiceProxy 中必须有额外的钩子来公开标头数据,但我似乎无法识别它。使用 C#(只是一个测试控制台应用程序),我已经能够调用此 Web 服务并检索 cookie 数据,因此我知道该服务运行正常。
想法?
【问题讨论】:
-
也许您传递参数的顺序不正确?只运行
$authSvc.Login,它将返回 OverloadDefinitions -
感谢 Raf 的建议。我试过了,没有发现其他重载。我确定 $LoginResults 总是错误的,因为我使用了双引号。我已经更新了我原来的问题,所以它有正确的单引号。
-
我了解到单引号不会解释带有 $ 的变量,而双引号会。我的测试密码包含一个美元符号,所以它认为它是一个空变量。
标签: wcf powershell cookies