2017-03-23 2 views
1

Ich habe ein Problem, bei dem ich einen XML-Webdienst habe, bei dem die Eingabeparameter in der Kopfzeile stehen, im Gegensatz zum Textkörper der XML-Datei. Dies verursacht, dass der Parameterabschnitt der Webdienstaufgabe leer ist.SSIS-WebService-Aufgabe Einfügen in XML-Header

Die SSIS-Webdienstaufgabe scheint keine Eingabeparameter in der Kopfzeile zu verarbeiten.

Wenn ich soapUI es verwenden, zeigt die Eingänge in der Kopfzeile (siehe beiliegende Abbildung)

Ich vermute, ich werde ein Skript Aufgabe schreiben müssen, dies zu tun, aber wenn jemand über diese gekommen ist, bevor und kann mich in die richtige Richtung weisen, dann wäre das großartig.

Ist es möglich, die WSDL zu metzeln, um dies zu tun? (Ich würde eher nicht) Vielen Dank im Voraus, und wenn weitere Informationen erforderlich sind, zögern Sie bitte nicht zu fragen.

SoapUIXML

Antwort

1

Um meine eigene Frage zu beantworten ....

Dies erwies sich als frustrierend zu sein. Die kurze Antwort auf meine Frage ist ja, Sie müssen Code verwenden, um Header-Parameter zu aktualisieren.

Ich musste einige C# schreiben, um den Webservice zu konsumieren und die Daten auszuspucken. Ich habe auch eine Proxy-Klasse mit wsdl.exe nach https://technet.microsoft.com/en-us/library/ms155134.aspx erstellt.

Anfang war ich schreibe dies als Quelle Skriptkomponente aber immer die folgenden Fehler erhalten:

Fehler bei Datenflusstask [XML-Quelle [1]]: Der Wert für die benutzerdefinierte Eigenschaft „XMLData“ auf XML-Quelle ist falsch. Fehler bei Datenfluss-Task [SSIS.Pipeline]: "XML-Quelle" hat die Validierung nicht bestanden und den Validierungsstatus "VS_ISBROKEN" zurückgegeben. Fehler beim Datenfluss-Task [SSIS.Pipeline]: "XML-Quellausgaben [XML-Quellausgabe]" enthält keine Ausgabespalten. Eine asynchrone Ausgabe muss Ausgabespalten enthalten. Fehler beim Datenfluss-Task [SSIS.Pipeline]: Eine oder mehrere Komponenten haben die Validierung nicht bestanden. Fehler bei der Datenflussaufgabe: Während der Aufgabenvalidierung gab es Fehler. (Microsoft.DataTransformationServices.VsIntegration)

Ich debuggte dies in Visual Studio, Ausgabe auf einer Konsole Bildschirm. Alles hat gut funktioniert.

Anschließend habe ich dies als Skript-Aufgabe neu erstellt und an eine Variable ausgegeben. Alles hat gut funktioniert.

Ich mag würde die folgenden Links und Blogs, um Hilfe danken:

dies jemand hilft

http://blog.reckonedforce.com/tag/consuming-web-services-in-ssis-script-task/

Hoffnung.