GetDataSourceContents will always return null for the Password member of the instance of DataSourceDefinition it returns

GetDataSourceContents will always return null for the Password member of the instance of DataSourceDefinition it returns

Rate This
  • Comments 1

Even though current and past versions of the documentation have never explicitly said so, for obvious reasons the password is no returned . In fact there is no public SSRS API that can return passwords in stored credentials.

Just to let you know until the documentation is improved to include that information.

By reflecting the code you can see for yourself the reason why the password of a stored credential is not retrieved.

Microsoft.ReportingServices.Library.GetDataSourceContentsAction
  internal sealed class GetDataSourceContentsAction: RSSoapAction<GetDataSourceContentsActionParameters>
  {
.
.
.
    internal override void PerformActionNow()
    {
.
.
.
      ActionParameters.DataSourceDefinition =
        Soap2005.DataSourceDefinition.DataSourceInfoToThis(dataSource.DataSourceInfo, false);
}
    }

Microsoft.ReportingServices.Library.Soap2005.DataSourceDefinition
  internal static DataSourceDefinition DataSourceInfoToThis(Data.DataSourceInfo dsi, bool getPassword)
  {
    DataSourceDefinition definition = new DataSourceDefinition();
.
.
.
    if (getPassword)
      definition.Password = dsi.GetPassword(DataProtection.Instance);
    else
      definition.Password = null;

    definition.Enabled = dsi.Enabled;
    definition.EnabledSpecified = true;
    return definition;
  }

Leave a Comment
  • Please add 2 and 6 and type the answer here:
  • Post
Page 1 of 1 (1 items)