Announcement

Collapse
No announcement yet.

einen in C# erstellten Webservice mit Delphi 2010 konsumieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • einen in C# erstellten Webservice mit Delphi 2010 konsumieren

    Hallo Zusammen,

    wie der Titel schon sagt, versuche ich verzweifelt mit Delphi 2010 auf einen in C# erstellten Webservice zuzugreifen.
    Da die Thematik recht neu für mich ist, habe ich zu Lernzwecken einen kleinen Calculator als Webservice in C# auf der Basis der WCF erstellt.
    Die WSDL-Datei lässt sich im Browser ansehen und die Einbindung des Services in ein anders C#-Projekt klappt problemlos.

    In Delphi importiere ich zuerst die WSDL-Datei, was auch gut funktioniert.
    Der Aufruf einer Funktion (unabhängig welcher) liefert mir dann jedoch folgenden Fehler zurück:

    Der Status des Handlers entspricht nicht dem angeforderten Vorgang. - URL:http://localhost:8000/WCFService1/CalculatorService -
    SOAP-Action: http://tempuri.org/ICalculator/Ping.


    Das Ganze hat durchaus einen ernsten Hintergrund. Ich muss einen Service bereitstellen, der bestimmte Informationen liefert, die wiederum von Delphi ( ist vorgegeben)
    weiter verarbeitet werden. (Seit über 10 Jahren funktioniert die Kommunikation auf der Basis von DCOM - Soll nun aber auf Webservice umgestellt werden.)

    Da ich sowohl den Server zu entwickeln als auch die Clientseite anzupassen habe, sind die Ausgangsbedingungen eigentlich nicht schlecht - dachte ich..

    Offen gestanden blicke ich im Moment nicht durch, was die ganzen Einstellungen bewirken und wie diese anzupassen sind, damit sich die beiden Kommunikationspartner verstehen.

    Hat jemand von Euch Erfahrungen mit dieser Problematik ?
    Ich bin für jeden Tip dankbar.

    Viele Grüße
    Thomas

  • #2
    Hallo,
    auch wenn ich zum genannten Fehler nichts beisteuern kann:
    Ich konsumiere Webservices aus dem Rechnungswesen Diamant/3 (dem "ersten .net basierten") problemlos. Grundsätzlich sollte diese Verbindung also eigentlich gehen.
    Das Einbinden erfolgt über den von Dir beschriebenen Weg, das alloziieren und Freigeben der Klassen ist für den Normal - Delphianer etwas gewöhnungsbedürftig. Fehler hierbei führen aber zu Schutzverletzungen, nicht zum beschriebenen Problem.

    Viel Erfolg!
    Tino
    Ich habs gleich!
    ... sagte der Programmierer.

    Comment


    • #3
      Vielen Dank Tino für Deine Antwort.
      Du hast natürlich vollkommen Recht. Prinzipiell kann Delphi einen Webservice konsumieren.
      Vor einigen Jahren habe ich mich an einen Webservice der in Delphi-Prism geschrieben wurde mit Delphi7 angedockt.
      Alle bereitgestellten Funktionen liefen problemlos.

      Irgend ein Feature muss nun in dotNet dazugekommen sein, was in Delphi2010 (noch) nicht verstanden wird ????
      Systeme, die nicht auf dotNet-Basis tickern, wird es sicher noch eine ganze Weile geben.
      Als Kommunikation zwischen den verschiedenen Technologien sehe ich keine Alternative zum Webservice.
      Demnach sollte meine beschriebene Konstellation doch so selten nicht sein...

      Comment


      • #4
        Scheinbar ein Delphi Bug (Warum bin ich nicht überrascht?).

        Siehe https://forums.embarcadero.com/threa...ssageID=450159

        Comment


        • #5
          PROBLEM GELÖST.

          Delphi2010 kommt mit dem WSHttpBinding nicht klar. Wenn man statt dessen serverseitig das gute alte BasicHttpBinding verwendet, clientseitig die WSDL-Datei neu importiert funktioniert es plötzlich.
          Was für eine Erleichterung.

          Vielen Dank an alle Helfer
          Thomas

          Comment

          Working...
          X