Übergabe REST Report Parameter

Hallo,
Ich benutze den ReportServer, habe mir eine REST Datenquelle angelegt und einen Report der diese benutzt. Ich übergebe einige Report Parameter an die REST Datenquelle als Filter. Das funktioniert für jeden Parametertyp einwandfrei nur für DateTime Objekte haut es einfach nicht hin. Diese sind nachdem sie hinter der API deserialisiert wurden immer null. Wenn ich meine API über swagger aufrufe kann ich dort den Parameter als string eintragen im Format 2020-01-01 welcher dann auch korrekt als 1.Januar 2020 erkannt wird. Gebe ich das Datum aber im selben Format als List&Label Report Parameter an kommt bei meiner API null heraus. Was mache ich denn hier falsch?
mfg
Kai

Wir haben uns das eben einmal angesehen. Es kann tatsächlich passieren, dass der Wert mittels der CurrentCulture-Einstellung formatiert und übergeben wird. Vielen Dank für diesen Hinweis.

In der kommenden Version 25.003 (geplantes Release im August) wird das Datum nun mit ISO 8601 formatiert, so sollte eine sichere Deserialisierung des Datums möglich sein. Stellen Sie dazu sicher, dass Sie format=date verwenden (wird nicht im Syntax-Assistent vorgeschlagen, kann aber manuell geändert werden). Wenn Sie vorab eine Testversion benötigen können Sie sich gerne unter Bezug auf diesen Thread beim Support melden.

Hallo,
Danke für die schnelle Antwort. Welches Datumsformat kann ich denn mit der Version 25.002 verwenden damit es klappt?

Ich habe jetzt auf die Version 25.002 geupdated, vorher hatte ich nur die 25.000 installiert. Jetzt wird beim Anlegen der Datenquelle format=Date erkannt aber egal in welchem Format ich dort den default Parameter angebe er wird in der API nicht korrekt deserialisiert (immer null). Zusätzlich kann ich jetzt den Designer für Berichtsvorlagen basierend auf dieser Datenquelle nicht mehr starten, selbst wenn ich eine komplett neue Vorlage erstelle. Im Designer Log steht dann diese Fehlermeldung:
ReportServerDesigner.exe Error: 0 : --------------------------------------- EXCEPTION DETAILS ---------------------------------------
ReportServerDesigner.exe Error: 0 : Type: System.ArgumentOutOfRangeException
ReportServerDesigner.exe Error: 0 : Message: StartIndex darf nicht kleiner als Null sein.
Parametername: startIndex
ReportServerDesigner.exe Error: 0 : Stacktrace:
bei System.String.Remove(Int32 startIndex)
bei combit.ListLabel25.ListLabel.DesignFromRelationalDataSource(IDataProvider dataSource, String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei combit.ListLabel25.ListLabel.WebDesignerDesign(String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei combit.ListLabel25.ListLabel.Design(Object userData, IntPtr windowHandle, String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei ReportServerDesigner.DesktopClientWebDesigner.OpenDesigner(IntPtr windowHandle, String llDescFileXml, Boolean urlCalled, CultureInfo culture, ReportServerCommunicator reportServerCommunicator)
bei ReportServerDesigner.LoadDesignerProcessor.<>c__DisplayClass14_0.b__0()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
ReportServerDesigner.exe Error: 0 : --------------------------------------- EXCEPTION DETAILS END -----------------------------------

Ich habe mir den L&L Source Code angesehen und dachte mir es könnte was mit dem Namen der Haupttabelle den ich in meiner REST Datenquelle angegeben habe zu tun haben (per default leer). Ich habe hier einen Wert eingetragen und erhalte einen anderen Fehler

ReportServerDesigner.exe Error: 0 : --------------------------------------- EXCEPTION DETAILS ---------------------------------------
ReportServerDesigner.exe Error: 0 : Type: combit.ListLabel25.LL_Parameter_Exception
ReportServerDesigner.exe Error: 0 : Message: Parameterfehler. Bitte benutzen Sie den Debug-Modus zur Bestimmung des Fehlers.
ReportServerDesigner.exe Error: 0 : Stacktrace:
bei combit.ListLabel25.LLException.CheckReturn(Int32 returnValue)
bei combit.ListLabel25.LlCore.LlDbAddTable(String tableName, LlTableOptions options)
bei combit.ListLabel25.ListLabel.PassDataStructureFromRelationalDataSource(IDataProvider dataSource, Boolean forDesigner)
bei combit.ListLabel25.ListLabel.DesignFromRelationalDataSource(IDataProvider dataSource, String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei combit.ListLabel25.ListLabel.WebDesignerDesign(String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei combit.ListLabel25.ListLabel.Design(Object userData, IntPtr windowHandle, String designerTitle, LlProject projectType, String projectFile, Boolean showFileSelect)
bei ReportServerDesigner.DesktopClientWebDesigner.OpenDesigner(IntPtr windowHandle, String llDescFileXml, Boolean urlCalled, CultureInfo culture, ReportServerCommunicator reportServerCommunicator)
bei ReportServerDesigner.LoadDesignerProcessor.<>c__DisplayClass14_0.b__0()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
ReportServerDesigner.exe Error: 0 : --------------------------------------- EXCEPTION DETAILS END -----------------------------------

So oder so aus irgendeinem Grund kann ich mit der v25.002 keine Berichtsvorlagen mehr editieren die auf REST Datenquellen basieren, kann mir hier jemand helfen?
mfg
Kai

Ich werde unseren Support bitten, sich bei Ihnen zu melden.

Hi,
Danke, durch Einspielen eines Patches den mir der Support bereit gestellt hatte konnte ich jetzt wieder die REST API als Datenquelle nutzen.
Vielen Dank für die Hilfe.
Kai

1 Like