ReportingService2005.FindItems();を呼び出し中にエラーが発生しました。具体的にはBooleanOperatorEnumパラメータに関する

PowerShell v2内からReportingService2005.FindItems()メソッドを呼び出す際に問題が発生しました。

$rs = New-WebServiceProxy -Uri $ReportServerUri -Namespace SSRS.ReportingService2005 -UseDefaultCredential;

$searchCondition = New-Object SSRS.ReportingService2005.SearchCondition
$searchCondition.ConditionSpecified  = $true
$searchCondition.Name = "Name";
$searchCondition.Value = "Sales";
[SSRS.ReportingService2005.SearchCondition[]] $searchConditions = @($searchCondition)

$boolOp = [SSRS.ReportingService2005.BooleanOperatorEnum]::And

#Also tried bellow initialization of enum.
#[SSRS.ReportingService2005.BooleanOperatorEnum] $boolOp = 0

$rs.FindItems("/", $boolOp ,$searchConditions)

上記を実行すると、次のエラーが発生します。

"SSRS.ReportingService2005.BooleanOperatorEnum"と入力すると、値 "And"、 "FindItems"に "SSRS.ReportingService2005.BooleanOperatorEnum"と入力すると、引数 "1"を変換できません: "SSRS.ReportingService2005.BooleanOperatorEnum"と入力すると値を変換できません。 'SSRS.ReportingService2005.BooleanOperatorEnum'から 'SSRS.ReportingService2005.BooleanOperatorEnum'に変更してください。 "

どんな助けでも大歓迎です。 ザック

1

1 答え

私のwebproxyで使用されている名前空間のパラメータに関連していると判断されたエラー。それが判明したので、投稿されたスクリプトは、セッションで初めて実行されたときに正常に実行されます。同じpowershellセッションで連続して実行すると失敗します。

Found this article which explains the situation fairly well: http://www.vistax64.com/powershell/273120-bug-when-using-namespace-parameter-new-webserviceproxy.html

$rs = New-WebServiceProxy -Uri $ReportServerUri -UseDefaultCredential; 

$searchCondition = New-Object Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService2005_asmx_WSDL.SearchCondition;
$boolop = New-Object Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService2005_asmx_WSDL.BooleanOperatorEnum;
2
追加された