Hallo Zusammen,
wir haben ein nicht nachvollziehbares Problem mit Delphi XE und .NET Interoperabilität bzw. .NET Webservices.
Hier einen kurze Beschreibung unseres Szenarios:
Wir haben .NET Webservices. Da diese komplexe .NET Datenstrukturen als Übergabeparameter verwenden, ist die direkte Kommunikation mit Delphi XE nicht möglich. (Delphi XE hat Schwierigkeiten mit der Auflösung der
WSDL...)
Daher haben wir uns entschieden eine interoperable .NET
Dll zu entwickeln, die die Webservice kapselt und einfache Schnittstellen für Delphi über
COM bereitstellt.
Das Ganze klappt auf unseren Entwicklungsrechnern sowohl unter Windows 7 als auch Windows XP einwandfrei.
Nur wenn wir das Delphi-Testprogramm mit der .NET
Dll auf Rechnern starten (egal ob Windows XP oder 7) auf denen kein Delphi XE installiert ist, stürzt das Programm beim Befehl den Webservice aufzurufen komplett ab. Alle Exceptionhandler, sowohl in der .NET
Dll als auch im Delphi Testprogramm, greifen nicht. Nimmt man als Testprojekt eine .NET Exe und ruft über diese
DLL die Webservices auf, klappt das auf allen Rechnern ohne Probleme.
Die Webservice selbst sind in Ordnung, sie werden auch bereits von anderen Programmen produktiv genutzt. Diese kann ich als Fehlerursache ausschließen.
Auf einem Entwicklungsrechner, auf dem Delphi 2009 installiert ist, stürtzt das Delphi Testprogramm ebenfalls ab.
Es muss also meiner Meinung nach mit etwas Zusammenhängen, was Delphi XE auf den Rechnern mitinstalliert...
Hat jemand eine Idee woran es liegen könnte?
Alle Remotedebugging-Versuche waren bisher auch wenig aufschlussreich...
Noch was: Wir haben die Kommunikation der Rechner mit einem Sniffer überwacht. Ergebnis: Der Request an den Webservice wird garnicht gesendet, das Programm stürzt schon vorher ab.