2009-04-16 2 views
1

Für unser großes C++ - basiertes Projekt haben wir jetzt eine Methode, Code automatisch zu generieren, um unseren Code als SOAP-Methoden verfügbar zu machen. Dies funktioniert sehr gut und wir planen, basierend auf den APIs, die wir veröffentlicht haben, mit der Implementierung einer RIA-basierten Anwendung mit Adobe AIR/Flex zu beginnen.Gibt es eine Möglichkeit, eine Reihe von Soap-Methoden logisch in einer Entität vom Typ "Klasse" zu gruppieren?

Die Frage, die ich habe, ist über SOAP Webservices zu organisieren. Der Code, den ich habe, macht einzelne Methodenaufrufe verfügbar, die in unserem C++ Code zu Klassen gehören. Bisher habe ich die exponierten Methoden benannt, indem ich ihnen den Namen der Klasse vorangestellt habe, von der sie in C++ kamen. Idealerweise würde es jedoch eine Möglichkeit geben, Methoden innerhalb des SOAP-Dienstes logisch zu gruppieren, so dass ich diesen Schritt nicht machen müsste und es möglich wäre, nach einer bestimmten Gruppe (AKA-Klasse) nach den Diensten zu fragen die SOAP-Services, die die WSDL-Datei in Ihrer Zielsprache verwenden.

Ich würde wirklich gerne in der Lage sein, die Klassenstruktur zu reproduzieren, die hinter der SOAP-Schicht auf der Serverseite in unseren Client-Anwendungen liegt. Im Moment kann ich sehen, dass ich dies tun kann, indem ich die Methodennamen verwende, um zu bestimmen, welcher Klasse sie angehören, aber wenn ich sie sauberer trennen könnte, würde ich es bevorzugen.

Freuen Sie sich darauf zu hören, was Sie SOAP Gurus über diese Angelegenheit wissen.

Antwort

0

Ich habe den Nachmittag damit verbracht, dies zu untersuchen und es scheint, dass ich zwei Optionen habe, von denen ich beide verspottet habe und die beide funktionieren: Ich bin mir nur unsicher, was jetzt am besten ist!

  • Trennen Sie die Methoden in verschiedenen "Services" logisch abhängig von der Klasse, aus der sie kamen. Es ist möglich, mehrere SOAP- "Dienste" in dieselbe WSDL-Datei aufzunehmen, sodass sie von Clients immer noch durch den Besuch nur einer URL erkannt werden können.
  • Trennen Sie die Methoden in verschiedenen "Ports" auf demselben SOAP-Dienst.
  • Ich bin verwirrt, was zu verwenden, da ein Port nach der Spezifikation "eine abstrakte Reihe von Operationen von einem oder mehreren Endpunkten unterstützt" ist, während ein Dienst "eine Sammlung von verwandten Endpunkten" ist. Dies deutet darauf hin, dass die richtige Vorgehensweise zum Zusammenfassen von Operationen die Verwendung von Ports ist.

    Verwandte Themen