2013-10-01 3 views
0

Так что, прежде всего, я довольно новичок в PowerShell (в течение последнего года). Я многое его понимаю сейчас, однако теперь API-вызовы для меня новы.Службы веб-службы Powershell API

У меня есть вопрос, как сделать вызовы API с помощью веб-вызовов, которые не требуют каких-либо значений. Или те, которые не требуют массива значений. Например: $ BSSPrincipalManagementWSP.ReadAccount («1_V4-0119341»)

Возвращает все, что я хочу. Но если я вхожу во что-то необычное, как веб-вызов для $ BSSPrincipalManagementWSP.UpdateAccountValues, первой переменной является внешний ID учетной записи, но второй переменной требуется accountValues ​​в массиве.

Я пытался что-то вроде этого, чтобы выполнить его:

function Update-AccountValues 

(

    [string]$accountExternalId, 

    [array]$accountValues = @(Import-Csv -Path $ImportPath) 

) 

{ 

    $accountValues 

    $BSSPrincipalManagementWSP.UpdateAccountValues($accountExternalId, $accountValues) 

} 



Update-AccountValues "1_V4-0119341" 

Но я получаю следующее сообщение об ошибке:

Cannot convert argument "accountValues", with value: "System.Object[]", for  "UpdateAccountValues" to type "BSSPrincipalManagementNS.AccountValue[]": "Cannot convert value 

"@{Key=ScreenSaverTimeoutMinutes; Value=60}" to type "BSSPrincipalManagementNS.AccountValue". Error: "Cannot convert the "@{Key=ScreenSaverTimeoutMinutes; Value=60}" value of type 

"System.Management.Automation.PSCustomObject" to type "BSSPrincipalManagementNS.AccountValue"."" 

At C:\Users\Matt Bergeron\AppData\Local\Temp\ff88f967-9d7c-4f6f-a424-212298a69655.ps1:61 char:2 

+  $BSSPrincipalManagementWSP.UpdateAccountValues($accountExternalId, $accountValu ... 

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

+ CategoryInfo   : NotSpecified: (:) [], MethodException 

+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument 

Я думал передать его «массив объектов accountValue» как это попросил о.

Все, что находится в файле CSV, это 2 столбца, 1 перечисленные как Ключи, а остальные - как значения. Они называются точно так, как их назвал файл OSS/BSS CHM.

Может ли кто-нибудь еще сказать, где я поступил не так? Любая помощь приветствуется.

ответ

0

Вы API ожидаете, что значение будет иметь определенный тип BSSPrincipalManagementNS.AccountValue[]. Вам нужно найти другой вызов API, где вы можете создавать экземпляры BSSPrincipalManagementNS.AccountValue и помещать их в массив. Затем вызовите исходный API с этим массивом.

+0

Как я уже сказал, я действительно новичок в вызовах API, есть ли у вас рекомендации относительно того, где искать другой API для создания массива? спасибо за ваш вклад. – chamele0n

+0

@ chamele0n Извините, но я ничего не знаю об этом API. Можете ли вы связаться с тем, кто создал веб-службу, чтобы получить указатель на документы? –

Смежные вопросы