Wer nutzt Bing Map Web Services mit Delphi?

9

Hat jemand Bing Map Web Services (ehemals Virtual Earth Web Services) mit Delphi arbeiten lassen?

Aufgrund meiner bisherigen Erfahrungen (sowohl mit Delphi als auch mit Visual Studio C #) bin ich bereit, es aufzugeben und mit dem MapPoint-Webdienst fortzufahren, bis eine zukünftige Version von Bing Maps Web Services herauskommt. Allerdings dachte ich, ich würde hier eine Frage als letzten Ausweg stellen ...

Ich habe die WSDL-Dokumente für den Token-Service und die Geocode-Services importiert.

Ich konnte erfolgreich einen Token aus dem Token-Dienst abrufen, konnte den Geocode-Dienst jedoch überhaupt nicht ausführen. Es gibt immer die folgende Fehlermeldung zurück: Die Nachricht mit Aktion '' kann aufgrund eines ContractFilter-Konflikts beim EndpointDispatcher nicht am Empfänger verarbeitet werden. Dies kann entweder auf eine Vertragsfehlanpassung (nicht übereinstimmende Aktionen zwischen Sender und Empfänger) oder eine Bindungs- / Sicherheitsfehlanpassung zwischen dem Absender und dem Empfänger zurückzuführen sein. Überprüfen Sie, ob Absender und Empfänger den gleichen Vertrag und die gleiche Bindung haben (einschließlich Sicherheitsanforderungen, z. B. Nachricht, Transport, Keine).

Ich habe bemerkt, dass Delphi keinen Wert für den SOAPAction-Header angegeben hat. Daher habe ich versucht, " Ссылка " und stattdessen die folgende Fehlermeldung angezeigt:

Der Server konnte die Anforderung aufgrund eines internen Fehlers nicht verarbeiten. Um weitere Informationen zu dem Fehler zu erhalten, aktivieren Sie entweder IncludeExceptionDetailInFaults (entweder von ServiceBehaviorAttribute oder vom & lt; serviceDebug & gt; -Konfigurationsverhalten) auf dem Server, um die Ausnahmeinformationen an den Client zurückzusenden, oder aktivieren Sie die Ablaufverfolgung gemäß Microsoft .NET Framework 3.0 SDK-Dokumentation und überprüfen Sie die Server-Ablaufverfolgungsprotokolle.

Im Folgenden ist mein Delphi-Code und das zu sendende Roh-XML, dann wird das Roh-XML durch einen ähnlichen Aufruf aus dem Beispiel-C # -Code von Microsoft gesendet. Es gibt einige Unterschiede im XML, aber ich bin mir nicht sicher, welcher Unterschied (s) der Schlüssel ist.

%Vor%     
Nathan Sutcliffe 26.06.2009, 15:35
quelle

2 Antworten

3

Meine beste Vermutung ist, dass Delphi zu viele Geocode-Elemente zu produzieren scheint - es scheint nichts zu geben, was NS2 entspricht: Geocode in der C # erzeugten XML. Wenn Sie das XML abfangen und ändern können, so dass es so aussieht, wer weiß - es könnte funktionieren:

%Vor%

Das andere Problem könnte sein, dass der Bing-Dienst die Art und Weise, wie Delphi die SOAP-Anfrage organisiert, nicht unterstützt.

Wenn das nicht funktioniert, finden Sie möglicherweise eine andere SOAP-Bibliothek, die Sie mit Delphi verwenden können - vielleicht greifen Sie auf das Wrapping einer Bibliothek mit einer C- oder COM-Schnittstelle zurück.

    
garethm 08.07.2009 23:40
quelle
1

Ich habe genau das gleiche Problem. Ich starte Delphi 2006, verwendete WSDLImp.exe im Befehlsmodus; benötigte Version 11.0 von 2006, um die Importarbeit zu erhalten. Was benutzt du? Wir haben die Absicht, RemObjects, Version 6, auszuprobieren. Irgendeine Vermutung, wenn das besser funktionieren würde?

Prost, Lars

    
Lars Westerlind 19.08.2009 08:49
quelle