Delphi enthielt früher einen Demo-Ordner für Webdienste, scheint diesen jedoch nicht mehr zu enthalten.
Ich habe gerade die Delphi 7-Demoprojekte ausprobiert ( SOAPDMServerWAD
ein Server mit fast keiner Benutzeroberfläche und SOAPDMClient
) und konnte sie selbst in Delphi 7 nicht zum Laufen bringen.
Wenn jemand jemals eine ähnliche Demo in Delphi XE oder Delphi 2010 zum Laufen gebracht hat, die mit den alten SOAPDMServerWAD+SoapDMClient
Demos identisch ist , in Delphi XE funktioniert und mindestens die minimale Benutzeroberfläche des Delphi SOAP Server-Anwendungsassistenten aufweist, wäre dies perfekt.
Update: Die Demo wird bis zu Delphi 2010 angezeigt, verwendet jedoch den mittlerweile veralteten WAD (Web-App-Debugger). Ich habe versucht, ihn auf den neuen Indy zu portieren runtime/web-app-development-harnessing-code
, aber ich kann ihn anscheinend nicht zum Laufen bringen. Die Demo wird ausgeführt, aber der Server hat keine Benutzeroberfläche und es scheint kein HTTP-Server zu laufen (getestet mit einem normalen Webbrowser über http://localhost:port/
URLs. Versuchen Sie übrigens, nach einer Demo zu googeln, und diese URL wird angezeigt Ich habe vor weniger als einer Stunde gefragt. Das ist beängstigend, Google.
Update2 Siehe meine eigene Antwort unten, ein Link mit Arbeitscode kommt bald.
quelle
Antworten:
Ich habe den vollständigen Satz von Demos für SOAP auf CodeCentral als Artikel 28789 veröffentlicht .
Diese enthalten alle einzelnen SOAP-Demos der Delphi 2007-Ära aus dem
WebServices
Ordner, die jetzt für Delphi XE und XE2 aktualisiert wurden, einschließlich der Konvertierung der alten WAD-Server in neue INDY VCL-Server. Sie würden denken, dass das beeindruckend war, außer es ist nicht. Es ist wirklich einfach. Verwenden Sie einfach den Assistenten, um ein neues Projekt zu erstellen, und fügen Sie dann die Webdienstschnittstelle und die Implementierungseinheiten sowie alle anderen Einheiten, die zur alten Demo gehören, zum Projekt hinzu. Sobald sie dem Projekt hinzugefügt wurden, funktionieren sie einfach. Grundlegende Demo-SOAP-Server sind in Delphi sehr einfach zu erstellen. Sobald Sie eine funktionierende Demo haben, werden Sie feststellen, dass es ziemlich einfach ist, sie zu ändern und zu erweitern.Die Demo, die die oben gestellte Frage am besten beantwortet, befindet sich im
SOAPDataModule
Unterordner.Die grundlegenden Probleme mit der Demo aus der Ära 2007 sind zwei:
Der WAD (Web App Debugger) ist weg. Sie müssen einen neuen Server mit dem Indy-Server erstellen, um optimale Demozwecke zu erzielen. So müssen Sie WAD (das nicht mehr vorhanden ist) verwenden oder eine ISAPI-Umgebung unter IIS einrichten, was für Demozwecke kaum ideal ist. Das neue Demo-Projekt, das ich erstellt habe, heißt SoapDMServerINDY und besteht aus einem Datenmodul (datamod_u.pas), einer VCL-Formular-Benutzeroberflächeneinheit (
IndyServerVCLFormUnit.pas
) und einem Indy Server-Webmodul namensIndyServerWebModule.pas
.Die Delphi 2007-Demo ist dank der neuen Praxis, einen Debug / Win32-Unterordner zu haben, in dem sich die ausführbare Demo-Datei befindet, kaputt gegangen. Sie müssen weiter nach oben gehen. Ich habe den Demo-Server so repariert, dass er Sie mit einer Fehlermeldung warnt, wenn die Datendateien nicht gefunden werden können, und Sie vor dem mysteriösen "XML-Parsing-Fehler" bewahrt. Ich habe auch einige Fehlerprüfungen in einigen Demos hinzugefügt, damit Sie erfahren, dass Sie Interbase installieren müssen, damit diese Demo funktioniert, da für einige Demos Interbase installiert und ausgeführt werden muss und für einen Alias namens IBLOCAL vorhanden sein muss. und vorzugsweise eine Tabelle, die als
EMPLOYEE
existierend bezeichnet wird.Die Elemente dieser Demo sind ein Server ( SoapDMServerINDY , basierend auf dem Code von SOAPDMServerWAD) und der Client SOAPDMClient, der eine Verbindung zur Demo herstellt und zwei Seiten hat. Eine Seite zeigt den grundlegenden Datenzugriff über ein DBGrid + -Datensatz-Remoting und die zweite Seite zeigt, wie eine benutzerdefinierte SOAP-Methode aufgerufen wird.
So verwenden Sie die Demo: Sie müssen den Server starten, auf die Schaltfläche Start klicken, dann den Client starten und auf Verbinden klicken.
quelle