Wer für MS-Umgebungen programmiert, muss zum einen oder anderen Male auf einen Wizard (nicht of Oz) zurückgreifen, um dem Tool die benötigte Information herauszukitzeln. So habe auch ich das Support-Package für XML und SOAP installiert, um mit MS Office XP auf versch. Webdienste zugreifen zu können. Dem Assistenten gibt man die URL des WSDL-Files und sagt ihm, welche Dienste man nutzen möchte. Meist kommt dabei das Richtige heraus.
So einfach gings auch bei mir. Es wird eine Klasse erstellt, die man in der entspr. Funktion auf eine Variable definiert und mit Übergabeparametern aufruft. Alles ganz normal. Bis auf die Kleinigkeit: ein Rückgabewert des Webservices war nicht mit dabei. Ich habe verdammt lange gesucht, mich mit dem Hersteller des SOAP-Servers in Verbindung gesetzt, dem Anbieter des SOAP-Dienstes und so weiter. Schlußendlich bin ich mit diesem darauf gestoßen, dass just der erste Rückgabeparameter fehlt und dieser als “Ergebnis” der Funktion an das Aufrufende Programm zurückgegeben wird (anstatt ein Wert für “hat Funktioniert” und “Fehler”).
Da muss man erstmal darauf kommen!
Also: wems genauso geht, einfach eine Funktion um die Funktion/Klasse und den Rückgabewert dieser ebenfalls per “ByRef” mit in das Parameterarray aufnehmen.

Ein weiteres Problem stellt überraschenderweise der Unterschied zwischen Variant und String bei den Rückgabevariablen dar. Der MS-Assistent schlägt bei Arrays autom. den Typ Variant ein, das stimmt aber nicht immer, aus oftmals unerfindlichen Gründen muss es dennoch String sein, hier hilft nur probieren.