2014-05-13 4 views
10

In SSIS habe ich bereits eine Web-Service-Task, die eine WSDL zum Senden von SMS verwendet. Mit dieser Aufgabe kann ich zwar SMS senden.Erstellen von komplexen Variablen für einen Web-Service-Task

Ich möchte Versorgungswerte für diese Aufgabe aus der Datenbank, wie Mobile Number, Nachrichtentext, Benutzer-ID usw.

Wie kann ich einen komplexen Typ Benutzervariable erstellen, die als Eingabe für eine übergeben werden kann Webdienstaufgabe?

+0

Ja. Finden Sie einen Webservice, der das für Sie erledigt, bekommen Sie WSDL und probieren Sie es aus. Wenn du ein Problem hast, poste zurück. –

+0

mit wsdl funktionierte es für mich, aber ich möchte die Attribute als SSIS-Variablen geben! –

+0

Posten Sie, was Sie bisher versucht haben. Sie sollten in der Lage sein, Ausdrücke zu verwenden, um verschiedene Dinge zur Laufzeit zu ändern, aber einige Komponenten unterstützen dies nicht sehr gut. Möglicherweise müssen Sie stattdessen eine Skriptaufgabe verwenden. –

Antwort

0

Es sieht so aus, als ob die einzige Antwort darin besteht, den Webservice so zu ändern, dass nur einfache Typen als Parameter akzeptiert werden. Ich habe das Web durchforstet und es scheint keine Möglichkeit zu bestehen, komplexe Typen für den Verbrauch dynamisch anhand der Eingabewerte in der Web-Service-Aufgabe zu erstellen.

0

Der einfachere Weg besteht darin, die Skriptkomponente zum Umgehen von Variablen zu einem Webdienst zu verwenden. Überprüfen Sie http://amolpandey.com/2016/09/26/ssis-script-task-to-obtain-geo-cordinates-from-address-text-via-google-api/ & http://www.sqlmusings.com/2011/03/25/geocode-locations-using-google-maps-v3-api-and-ssis/. Getestet und funktioniert. Mit dieser Aufgabe können Sie die SSIS-Variablen/Parameter umgehen. Beispiel: ID, Adresse, PLZ, Stadt, Land aus einer Tabelle mit einem SQL-Task ausführen. Change Resultset: Vollständiges Ergebnis auf der Registerkarte Allgemein festgelegt. Fügen Sie dann auf der Registerkarte resultset Result_Name hinzu: 0 & Variablenname: Benutzer :: YourObject. Dann ist die nächste Aufgabe ein Forlooptask-Editor (Foreach ADO Enumerator, Registerkarte Sammlung - Ado-Objekt Quellvariable: User :: YourObject, Enumerationsmodus: Zeilen in der ersten Tabelle, Registerkarte Variable Mapping - Variable User :: Id, 0 | address, 1 usw.). Im Forlooptask-Editor fügen Sie eine Datenflussaufgabe hinzu, bei der die Quelle dieser Aufgabe eine Skriptkomponente ist. Wenn Sie genauer auf Ihre Logik eingehen, können wir Ihnen mehr helfen.

Verwandte Themen