SOAP API 経由ではまだ試していませんが、Accept-Language ヘッダーを設定することはできないのでしょうか? レポートをさまざまな言語でレンダリングするときにこれを行っています。各レポートの言語は に設定されてい=User!Language
ます。WCF を使用してレポート サービスにアクセスする場合は、次のことができます (VB.NET の例)。
Using oReportingService As New ReportingService2010SoapClient
oReportingService.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation
Using oScope As OperationContextScope = New OperationContextScope(oReportingService.InnerChannel)
If i_oSubscription.Language IsNot Nothing Then
' Accept-Language
Dim oHttpRequestProperty As New HttpRequestMessageProperty
oHttpRequestProperty.Headers.Add(HttpRequestHeader.AcceptLanguage, i_oSubscription.Language)
OperationContext.Current.OutgoingMessageProperties(HttpRequestMessageProperty.Name) = oHttpRequestProperty
End If
oReportingService.CreateSubscription(New ReportingService2010.TrustedUserHeader(), i_oSubscription.Path, oExtensionSettings, i_oSubscription.Description, "TimedSubscription", sMatchData, lstParameters.ToArray(), sSubscriptionId)
Return sSubscriptionId
End Using
End Using
編集:これは私が自分でやっている方法であり、うまくいくようです:)
i_oSubscription
次のようなプロパティを持つ単純なコンテナですDescription
注:これはほとんどの場合うまくいくようです。ただし、MonthlyRecurrence の「Days」フィールドは、ロケールに依存してフォーマットされます ( https://stackoverflow.com/questions/16011008/ssrs-monthlyrecurrence-formatting-for-different-languagesを参照) 。