Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Auf Windows-Basis mehrere XML Files an Webservice HTTP-S schicken Wildcard

Frage Entwicklung XML

Mitglied: Tranministrator

Tranministrator (Level 1) - Jetzt verbinden

07.11.2014, aktualisiert 10.11.2014, 1118 Aufrufe, 2 Kommentare

Hallo liebe Admins,

ich stehe mal wieder vor einer riesigen Aufgabe die eigentlich so einfach sein könnte wenn da nicht die Vorgaben wären:

- XML Files werden an ein Webservice gesendet (funktioniert bis zu einem gewissen Maß bereits mit CURL)
- Problematisch wird es wenn man mehrere versenden will da die Dateinamen viel zu lang sind und auch von Tag zu Tag variieren. (globbing bei CURL schafft das nicht)

Die können mal so und mal so lang sein und Curl schafft beim Globbing nicht die Anzahl.

flightdata10420141013209.xml
flightdata00003120141015155552.xml

Somit müsste das Skript es erlauben die Daten mit flightdata*.xml (Wildcard) zu versenden damit alle Files in diesem Ordner versendet werden um sie danach zu verschieben.

Kennt jemand von euch ein tolles Tool welches das abdeckt und hat wer auch Beispiele dafür um das zu realisieren?

hier mal das Schnippsel für den CURL Upload an welchem ich schon gearbeitet habe:

01.
Curl -T "V:\flightdata[1-2].xml" -u xxx:xxx -H "Content-Type:text/xml" -H SOAPAction:uploadSalesReport" "https://xxxl" -k


Vielen Dank fürs Lesen!

LG

Robs
Mitglied: colinardo
LÖSUNG 07.11.2014, aktualisiert 10.11.2014
Hallo Robs,
bau z.B. um deinen Curl-Aufruf eine FOR-Schleife die über die XML-Dateien iteriert:
01.
@echo off 
02.
for %%a in (V:\flightdata*.xml) DO @( 
03.
   Curl -T "%%a" -u xxx:xxx -H "Content-Type:text/xml" -H SOAPAction:uploadSalesReport" "https://xxxl" -k 
04.
)
Ich persönlich würde das mit Powershell machen und dem CMDLet New-WebServiceProxy

Das sieht ungefähr so aus (hab's länger nicht mehr gemacht und gerade leider keinen Test-Webservice zur Hand, deswegen ohne Gewähr)
01.
$username = 'Benutzername' 
02.
$password = 'Passwort' 
03.
$url = 'https://yoursecretserverurl/webservices/sswebservice.asmx' 
04.
 
05.
# Webservice-Proxy erstellen 
06.
$proxy = New-WebServiceProxy -uri $url -Credential (New-Object PSCredential($username,(ConvertTo-SecureString $password -AsPlainText -Force))) 
07.
 
08.
# Dateien filtern 
09.
$files = gci 'V:\flightdata*.xml' 
10.
 
11.
# für jede Datei die Upload-Funktion ausführen 
12.
foreach($file in $files){ 
13.
 
14.
    # Funktion des Webservice aufrufen die die Datei hochlädt 
15.
    # $proxy.uploadSalesReport(???????) 
16.
     
17.
   # zu deiner Hilfe alle Methoden des Webservice auflisten 
18.
   # proxy  | get-member -type method 
19.
}
Wie die Funktion für den Upload zu handhaben ist müsstest du aus der Doku zum deinem Webservice nachlesen.

Grüße Uwe
Bitte warten ..
Mitglied: Tranministrator
10.11.2014 um 08:41 Uhr
Hallo Uwe ,

vielen Dank für deine schnelle und professionelle Hilfe!

Die FOR Schleife um das Curl herum war genau richtig und hat auf Anhieb funktioniert.

LG

Robs
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
Windows Bereitstellungsdienst und .xml-Datei erstellen (1)

Frage von Freddy88 zum Thema Windows Server ...

Video & Streaming
gelöst Suche nach Programm um mehrere MP4 Files zu einer zu kombinieren (8)

Frage von Stefan007 zum Thema Video & Streaming ...

Windows Netzwerk
gelöst Mehrere Windows PCs gleichzeitig zur Domäne (4)

Frage von PharIT zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...