Как сохранить объект, возвращаемый веб-сервисом? - PullRequest
1 голос
/ 17 августа 2011

Я новичок в PowerShell и пытаюсь выяснить, как сохранить (в файл или базу данных) объект, возвращаемый следующим веб-сервисом:

$apiKey = "00000000-1111-2222-3333-444444444444"
$userName   = "12345678"
$password   = "SamplePassword"

$URI     = "https://www.example.com/api/TestWS.TestService.svc?wsdl" 
$prox = New-WebServiceProxy -uri $URI -namespace WebServiceProxy
$prox.chambersList
$prox.chambersList($userName, $password, $apiKey, 0, $false, 0, $false)

---------------------------------------------------------------------

MemberType          : Method
OverloadDefinitions : {WebServiceProxy.chambersListOutputData, ijfah16c, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null chambersList(string userName, string password, string apiKey, System.Nullable[int] pageNumber, bool pageNumberSpecified, System.Nullable[int] pageSize, bool pageSizeSpecified)}
TypeNameOfValue     : System.Management.Automation.PSMethod
Value               : WebServiceProxy.chambersListOutputData, ijfah16c, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null chambersList(string userName, string password, string apiKey, System.Nullable[int] pageNumber, bool pageNumberSpecified, System.Nullable[int] pageSize, bool pageSizeSpecified)
Name                : chambersList
IsInstance          : True

chambersList                       : {797, 798, 799, 800...}
pagesCount                         : 92
pagesCountSpecified                : True
allElementsCount                   : 918
allElementsCountSpecified          : True
pageNumber                         : 1
pageNumberSpecified                : True
pageSize                           : 10
pageSizeSpecified                  : True
description                        : OK
code                               : OK
codeSpecified                      : True
information                        : 

Я хотел бы вызвать метод с именем "chambersList", но у меня возникли проблемы с пониманием, как он работает. Можно ли экспортировать возвращенный объект (список? Таблица?) В базу данных XML / CSV / TXT /? Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Исходя из вывода, я понял, что вы должны иметь возможность сохранить значение метода в переменную, которую вы можете делать в Powershell так, как вам нравится:

$chambersListData = $prox.chambersList($userName, $password, $apiKey, 0, $false, 0, $false)

#Just an example of using the data
if ($chambersListData.allElementsCountSpecified)
{
    $chambersListData.allElementsCount
}

$chambersListData.chambersList | Foreach-Object {

    #do something with the elements
}

$chambersListData.chambersList | Export-Csv "myChambersList.csv"

Трудно сказать, является ли этот последний полезным, зависит от содержимого chambersList

Если это не помогло, выполните $chambersListData | Get-Member, чтобы увидеть, что вы можете с ним сделать.

0 голосов
/ 17 августа 2011

Попробуйте эти команды

Get-command -verb export

А затем для каждой команды возвращается:

Help export-....

Обычно вы передаете переменную в команду:

$prox.chambersList($userName, $password, $apiKey, 0, $false, 0, $false) | export-...

Существует довольно мало способов экспорта, csv и clixml (в основном объект PowerShell) звучат так, как вы хотите. Конечно, это зависит от того, что вы хотите сделать потом?

Также проверьте более подробную помощь здесь:

To see the examples, type: "get-help Export-CSV -examples".
For more information, type: "get-help Export-CSV -detailed".
For technical information, type: "get-help Export-CSV -full".

и для export-clixml

To see the examples, type: "get-help Export-Clixml -examples".
For more information, type: "get-help Export-Clixml -detailed".
For technical information, type: "get-help Export-Clixml -full".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...