我使用Powershell为SSRS webserivce编程。
我有两个SSRS站点,我想使用GetSubscriptionProperties方法获取订阅信息,然后使用CreateSubscription将其复制到另一个站点。
$SSRS0 = New-WebServiceProxy -Uri $Uri0 -UseDefaultCredential;
$SSRS1 = New-WebServiceProxy -Uri $Uri1 -UseDefaultCredential;
.....
$SSRS0.GetSubscriptionProperties($subscription.SubscriptionID, [ref]$extSettings, [ref]$desc, [ref]$active, [ref]$status, [ref]$eventType, [ref]$matchData, [ref]$values);
$SSRS1.CreateSubscription($URL, $extSettings, $desc, $eventType, $matchData, $values);
然后我收到了错误:
Cannot convert argument "ExtensionSettings", with value: "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService20
10_asmx_WSDL.ExtensionSettings", for "CreateSubscription" to type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy5er_Report
Service2010_asmx_WSDL.ExtensionSettings": "Cannot convert the "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportServ
ice2010_asmx_WSDL.ExtensionSettings" value of type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService2010_asm
x_WSDL.ExtensionSettings" to type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy5er_ReportService2010_asmx_WSDL.ExtensionS
ettings"."
它试图将类型从站点A webservice类型转换为站点B webservice类型,实际上,它是相同的类型,但是由两个New-WebServiceProxy语句创建。
如何在不手动复制所有成员的情况下进行转换?
我已经从互联网上试过这些方法,但没有帮助:
使用-as运算符进行转换,$ null返回。
在两个New-WebServiceProxy中使用-namespace,只有一个代理有效,另一个代理已损坏。
由于