OwlsSleeping
OwlsSleeping

Reputation: 1570

SSRS Powershell Get-RsFolderContent - [Deserialized.SSRS.ReportingService2010] does not contain a method named 'ListChildren'

I’m attempting to show all reports in a folder using Get-RsFolderContent from the ReportingServicesTools package.

While connected to corporate VPN I have access to SSRS through web browser including the “ReportService2010.asmx” page used for requests from Powershell.

When attempting to get data with powershell I recieve the following error (same for both lines):

Line 85
$Proxy.ListChildren($Item, $Recurse)

Method invocation failed because [Deserialized.SSRS.ReportingService2010] does not contain a method named 'ListChildren'.

Code used:

$ReportServerUri = "http://vmnamehere:80/ReportServer/ReportService2010.asmx?wsdl"
$rs = New-WebServiceProxy -Uri $reportServerUri -UseDefaultCredential -Namespace "SSRS"

$Attempt1 = Get-RsFolderContent -RsFolder / -ReportServerUri $ReportServerUri -Proxy $rs
$Attempt2 = $rs.ListChildren("/", $true)

$Attempt1
$Attempt2

Since the library is open-source, I see that line 85 of Get-RsFolderContent is that same "$rs.ListChildren" as I used above in attempt2, so no surprise that the error is the same.

https://github.com/microsoft/ReportingServicesTools/blob/master/ReportingServicesTools/Functions/CatalogItems/Get-RsFolderContent.ps1

Any idea why this ListChildren method isn't found? Could this be some kind of credential issue?

SSRS Version 2017 Powershell Version 7.0.3

Upvotes: 1

Views: 1722

Answers (1)

Graham
Graham

Reputation: 639

New-RSWebServiceProxy relies on New-WebServiceProxy, which is not available starting with PowerShell 6.x:

.NET Core does not support the Windows Communication Framework, which provide services for using the SOAP protocol. This cmdlet was removed because it requires SOAP.

Upvotes: 5

Related Questions