Ошибка при передаче New-WebServiceproxy в качестве параметра функции
Я пытаюсь создать функцию, которая использует New-WebServiceProxy
в качестве параметра, но я получаю сообщение об ошибке. Мой код функции:
function Execute-SOAPRequest () {
[CmdletBinding()]
Param
(
[Parameter(Position = 0, Mandatory = $true)]
[New-WebServiceproxy]$myService,
[Parameter(Position = 1, Mandatory = $true)]
[String]$url
)
write-host "Sending SOAP Request To Server: $url"
$myService.getUsers()
}
Сообщение об ошибке:
At C:\myService.ps1:6 char:12 + [New-WebServiceproxy]$myService, + ~ Missing ] at end of attribute or type literal. At C:\myService.ps1:6 char:13 + [New-WebServiceproxy]$myService, + ~ Parameter declarations are a comma-separated list of variable names with optional initializer expressions. At C:\myService.ps1:6 char:13 + [New-WebServiceproxy]$myService, + ~ Missing ')' in function parameter list. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : EndSquareBracketExpectedAtEndOfAttribute
Ему не нравится имя параметра, разделенного тире [New-WebServiceproxy]. Как с этим справиться?
1 ответ
New-WebServiceProxy
это командлет, который возвращает объект типа WebServiceProxy
. Вы не можете использовать командлет для указания типа вашего параметра.$myService
, используйте WebServiceProxy
вместо.