Ошибка при передаче 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 вместо.

Другие вопросы по тегам