Ich habe eine Renderingerweiterung für Reporting-Dienste, die den ReportExecution2005.asmx-Dienst verwendet, um eine Reihe von "Unterberichte" auszuführen und dann die Ergebnisse in einer PowerPoint-Präsentation.Reporting Services 2005: ReportExecution2005.asmx kehrt mit 401 Access Denied zurück, wenn von einer RenderingExtension aufgerufen
Ein typisches Anwendungsszenario wäre, zum Berichts-Manager zu gehen und meinen "Powerpoint" -Bericht auszuwählen, der nur als Platzhalter für Parameter verwendet wird, die an die "Unterberichte" übergeben werden. Ich wähle dann meine Erweiterung aus der Liste der Exportformate aus und klicke auf Exportieren, wodurch die Erweiterung ausgeführt wird und mir meine PPTX-Datei zurückgegeben wird.
Dies funktioniert auf unseren Live- und Testservern einwandfrei. Aber ich bin auf ein sehr seltsames Problem gestoßen, als ich versucht habe, einen anderen Testserver einzurichten.
Jeder Aufruf der Erweiterung an den Webservice erfolgt mit "401 Access Denied" (keine weiteren Informationen zum Substatus verfügbar).
Dinge, die ich ohne Erfolg versucht habe: - ermöglichen physischen Zugriff auf die Ordnerstruktur des virtuellen Berichtsserver-Verzeichnisses für alle. Und ich meine buchstäblich alle - ASPNET, NETZWERKDIENST, Jeder, das Konto, das ich normalerweise verwende, um sich anzumelden, das ist ein Administrator und Besitzer des Ordners - verwenden Sie Reporting Manager, um die Sicherheit auf der Seite Reporting Services einzurichten. Auch hier wurde jedem erdenklichen Benutzer-/Gruppenkonto jede erdenkliche Rolle zugewiesen. - erlauben Sie anonymen Zugriff auf die ReportServer Web App. - Der Identitätswechsel wurde in der ReportServer Web App aktiviert. - die Benutzerinformationen fest einprogrammiert zu verwenden, wenn die Webservice Aufruf (standardmäßig es System.Net.CredentialCache.DefaultCredentials nur verwendet)
Ich habe auch eine kleine Test-Website, die in genau die gleichen Weise wie die Rendering den ReportExecution Dienst verbraucht und von der Website authentifiziert sich der Webserver gut und ermöglicht es mir, den Webdienst anzurufen. Offensichtlich liegt das Problem nicht in der Sicherheitskonfiguration des Webdienstes selbst.
Beginnend, meine Haare zu ziehen. Als letzten Ausweg möchte ich Reporting Services wieder installieren, aber in der Zwischenzeit (oder wenn das nicht hilft) - wenn jemand auf etwas Ähnliches gestoßen ist, würde ich jede Eingabe sehr schätzen.