Fragensteller
Reporting Services: Senden eines Objekt-Parameters an ein Web Service

Allgemeine Diskussion
-
Guten Tag,
Ich arbeite zurzeit an einem Report, das einen Web Service als Datenquelle besitzt.
Die Methode "HoleBankverbindung" des Web Service erwartet zwei Parameter. Ein Integer "bankverbindungsKontoTyp" und ein Objekt "bestehendeAdresse" mit mehreren Werten (Mandant, Adressgruppe, Nummer).
Zurzeit sieht meine Query im Report in etwa so aus:
<Query>
<ElementPath IgnoreNamespaces="true">
*
</ElementPath>
<Method Name="HoleBankverbindung">
<Parameters>
<Parameter Name="bestehendeAdresse">
<DefaultValue></DefaultValue>
</Parameter>
<Parameter Name="bankverbindungsKontoTyp">
<DefaultValue>1</DefaultValue>
</Parameter>
</Parameters>
</Method>
</Query>Laut der WS-Methode muss der Request folgendermaßen aussehen:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope ....>
<soap:Body>
<HoleBankverbindung>
<bestehendeAdresse>
<Mandant>int</Mandant>
<Adressgruppe>string</Adressgruppe>
<Nummer>int</Nummer>
</bestehendeAdresse>
<bankverbindungsKontoTyp>int</bankverbindungsKontoTyp>
</HoleBankverbindung>
</soap:Body>
</soap:Envelope>Kann mir da jemand weiterhelfen?
- Typ geändert Ionut DumaModerator Freitag, 4. April 2014 12:40 Warten auf Antwort
Alle Antworten
-
Hallo Brucker,
Schau Dir mal folgende Artikel an http://msdn.microsoft.com/de-de/library/ms154699.aspx
Gruss,
Ionut
Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Ionut,
vielen Dank für deine Rückmeldung.
Ich habe mir deinen Link und die Hinweise darauf genauer angesehen. Habe ich deinen Hinweis richtig verstanden und deine Empfehlung ist, einen weiteren Webdienst zu programmieren? Wenn ja soll dieser in diesem Fall statt dem Objekt und Integer alle 4 Werte entgegennehmen, aus 3 Werten (Mandant, Adressgruppe, Nummer) ein Objekt generieren und dann anschließend mit diesem Objekt und den Integer den eigentlichen Webservice aufrufen?
An diese Lösung hatte ich auch schon gedacht. Trotzdem suche ich weiterhin nach einer "einfacheren" Lösung innerhalb der Abfrage des Datasets oder innerhalb des Reports, ohne hierfür einen weiteren Webdienst programmieren zu müssen. Beispielsweise in der XML-Query. Jedoch weiß ich nicht wie ich dort ein Parameter mit mehreren Werten und im Typ Objekt übergeben kann. Hierzu habe ich in den MSDN-Artikeln und in anderen Ressourcen nichts gefunden.
Ist es überhaupt möglich, ein Objekt-Parameter so in der XML-Query des Datasets anzugeben, dass dieser Parameter auch als Objekt erkannt wird?
Vielen Dank nochmal im Voraus!
Grüße,
Brucker
-
Verstehe ich es richtig, dass die Parameter im WebService angegeben werden und dann im Report verarbeitet werden?
Wenn das der Fall ist, warum liest du die Parameter nicht in eine extra Tabelle(bzw. DataSet), welches du dann als Quelle für deine Reporting Parameter verwendest.
Parameter-Defeault Values - Get values from a query: Dataset= Tabelle aus dem WebService/ Value field=Parameter