Benutzer mit den meisten Antworten
Empfänger von Abonnements (Email) per SOAP identifizieren

Frage
-
Hallo Zusammen,
ich habe mich im Code erfolgreich mit dem Reporting Service über die ReportingService2010 Klasse verbunden.
Des Weiteren ist es mir gelungen alle Ordner und Reports über CatalogItem zu identifizieren. Auch Abonnements lassen sich in Subcribtions laden.
Nun habe ich versucht die Empfänger von Email Abos zu identifizieren und habe mir die Subsribtion Describtion geholt in der die Empfänger aufgezählt werden. Leider ist die Zeichenkette die wiedergegeben wir begrenzt und wird bei mehr als 2 Empfänger abgeschnitten.
Ich bin absoluter Anfänger in diesem Bereich (zweites Ausbildungsjahr), und würde mich freuen wenn mir jemand hier einen Tipp geben könnte was ich mir genauer angucken muss um den TO: Wert des Emailversand auszulesen.
Hätte auch nichts gegen nen kleinen Codeschnipsel.
Danke
Rene
Antworten
-
Hallo Rene,
das der zurück gelieferte Wert von der Länge her begrenzt ist oder abgeschnitten wird, kann ich nicht bestätigen; bei mir geht das problemlos.
Hier mal mein Code, aufs nötigste begrenzt:
using System; using System.Linq; using SsrsReportRenderer.ReportService2010; namespace SsrsReportRenderer { internal class Program { private static void Main(string[] args) { var rs = new ReportingService2010(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; var subscriptionId = "A8C7F018-B2FE-423A-99EA-D0BB41B53B13"; ExtensionSettings extSettings = null; string description; ActiveState state; string status; string eventType; string matchData; ParameterValue[] parameters = null; var result = rs.GetSubscriptionProperties(subscriptionId, out extSettings, out description, out state, out status, out eventType, out matchData, out parameters); var to = (from e in extSettings.ParameterValues where ((ParameterValue)e).Name == "TO" select e).FirstOrDefault() as ParameterValue; if (to != null) { Console.WriteLine("To = {0}", to.Value); } Console.ReadLine(); } } }
Ergebnis:
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 18. November 2015 07:29
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 27. November 2015 08:45
Alle Antworten
-
Hallo Rexarius,
ich habe ein bisschen nachgeforscht, aber leider nichts gefunden. Ich werde Morgen mit der Forschung fortfahren.
Gruß
Aleksander
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Rene,
das der zurück gelieferte Wert von der Länge her begrenzt ist oder abgeschnitten wird, kann ich nicht bestätigen; bei mir geht das problemlos.
Hier mal mein Code, aufs nötigste begrenzt:
using System; using System.Linq; using SsrsReportRenderer.ReportService2010; namespace SsrsReportRenderer { internal class Program { private static void Main(string[] args) { var rs = new ReportingService2010(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; var subscriptionId = "A8C7F018-B2FE-423A-99EA-D0BB41B53B13"; ExtensionSettings extSettings = null; string description; ActiveState state; string status; string eventType; string matchData; ParameterValue[] parameters = null; var result = rs.GetSubscriptionProperties(subscriptionId, out extSettings, out description, out state, out status, out eventType, out matchData, out parameters); var to = (from e in extSettings.ParameterValues where ((ParameterValue)e).Name == "TO" select e).FirstOrDefault() as ParameterValue; if (to != null) { Console.WriteLine("To = {0}", to.Value); } Console.ReadLine(); } } }
Ergebnis:
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 18. November 2015 07:29
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 27. November 2015 08:45
-
Hallo Rene,
wenn es nur ums Ermitteln der Empfänger geht: Das kann man auch per T-SQL abfrage; nicht wirklich supported, aber geht:
;WITH subs AS (SELECT * ,CONVERT(xml, ExtensionSettings) AS extXml FROM dbo.Subscriptions ) SELECT p.para.value(N'*[contains(Name[1], "TO")][1]/Value[1]', 'varchar(4000)') AS [To] ,p.para.value(N'*[contains(Name[1], "IncludeReport")][1]/Value[1]', 'varchar(4000)') AS IncludeReport ,p.para.value(N'*[contains(Name[1], "RenderFormat")][1]/Value[1]', 'varchar(4000)') AS RenderFormat ,p.para.value(N'*[contains(Name[1], "Subject")][1]/Value[1]', 'varchar(4000)') AS [Subject] ,p.para.value(N'*[contains(Name[1], "IncludeLink")][1]/Value[1]', 'varchar(4000)') AS IncludeLink ,p.para.value(N'*[contains(Name[1], "Priority")][1]/Value[1]', 'varchar(4000)') AS [Priority] ,subs.* FROM subs CROSS APPLY subs.extXml.nodes('/ParameterValues') AS p(para)
Olaf Helper
[ Blog] [ Xing] [ MVP]