ReportingService2010 konnte nicht gefunden werden

8

Ich habe:

private readonly ReportingService2010 _rs = new ReportingService2010();

Fehler:

%Vor%

Ich setup einen Verweis auf den SSRS-Dienst. Die Referenz gibt mir nicht wie erwartet Zugriff auf ReportingService2010. Das nächste ist:

MySsrsServiceNamespace.ReportingService2010SoapClient

Wie soll ich die Klasse ReportingService2010 verwenden? MSDN listet diese Klasse vage auf.

Bitte beachten Sie, dass ich versucht habe, ReportingService2010SoapClient zu verwenden. Diese Klasse stimmt nicht mit der Dokumentation für ReportingService2010 überein. Zum Beispiel akzeptiert ListChildren() nur 4 Parameter und die Url-Eigenschaft existiert nicht.

    
P.Brian.Mackey 23.09.2013, 16:27
quelle

4 Antworten

5

Erstellen Sie entweder eine Proxy-Klasse und fügen Sie sie in Ihre Anwendung ein, oder fügen Sie Web Reporting für ReportingService hinzu. Das Tutorial ist dort verfügbar:

Ссылка

Wenn Sie eine Proxy-Klasse verwenden und mehr als einen Endpunkt verwenden (ReportExecution, ReportingService), sollten Sie Proxy-Klassen für verschiedene Namespaces erstellen, da andernfalls Konflikte auftreten.

Haben Sie es per Web-Referenz getan? Wenn ja, versuchen Sie es mit WSDL in der Befehlszeile. Befehlszeilensyntax:

%Vor%     
kyooryu 23.09.2013, 16:40
quelle
23

Gerade lief genau das gleiche Problem auf. Die Klasse 'ReportingService2010SoapClient' war verfügbar, die Klasse 'ReportingService2010' jedoch nicht. Hat mich verrückt gemacht. Ich hatte es als "Service References" hinzugefügt, aber Sie müssen es als "Web References" hinzufügen, wie folgt:

  1. Löschen Sie Ihre alte Service-Referenz

  2. Klicken Sie mit der rechten Maustaste auf Referenzen. Der Dialog "Service-Referenz hinzufügen" wird angezeigt.

  3. Geben Sie statt dessen jetzt die WSDL-URL ein: Klicken Sie unten links auf die Schaltfläche "Erweitert".

  4. Der Dialog "Service-Referenzeinstellungen" wird angezeigt.

  5. Klicken Sie links unten auf die Schaltfläche "Web-Referenz hinzufügen".

  6. Geben Sie nun die URL für die WSDL ein. (Für mich war das Servername / ReportServer / ReportService2010.asmx)

  7. Klicken Sie auf den kleinen Pfeil auf der rechten Seite, es dauert seine süße Zeit zu laden.

  8. Benennen Sie die Webreferenz, ich habe "ReportingService2010WebReference" verwendet, aber ReportingService2010 "funktioniert wahrscheinlich genauso gut.

  9. Klicken Sie auf "Referenz hinzufügen"

  10. Aktualisieren Sie in Ihrem Code Ihre using-Anweisungen auf "using .ReportingService2010WebReference (oder den von Ihnen gewählten Namen)

Code:

%Vor%

Beim ersten Versuch gearbeitet. Die Datei Web.config wurde nicht berührt.

    
TomEberhard 26.08.2014 02:09
quelle
1

Fügen Sie keine Webreferenz hinzu

Befolgen Sie die folgenden Schritte und es würde gut funktionieren.

1) Stellen Sie sicher, dass Sie .netframework & gt; = 4.6.1

haben

2) Führen Sie die Eingabeaufforderung als Administrator

aus

3) CD C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1 Extras

4) Generiere die Klasse: wsdl / proxyusername: Benutzername / proxypassword: Password -out: Reportingservice2010.cs Ссылка

Zusätzlich) Führen Sie wsdl /? Für Hilfe Dateien werden ausgegeben in: C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1 Extras

5) Fügen Sie Ihrem Projekt die CS-Datei hinzu

    
Bernard Walters 24.11.2016 13:15
quelle
0

Ändern Sie dies;

%Vor%

bis

%Vor%

Sie versuchen, eine Instanz für eine Klasse zu erstellen, die nicht existiert, und das Hinzufügen der Referenz erstellt eine entsprechende * Client-Klasse, die Sie instanziieren können.

    
ChrisBint 23.09.2013 16:29
quelle

Tags und Links