151 votes

Serveur SOAP et l’application cliente VCL + démo indy pour Delphi XE ?

Delphi permet d'inclure une demos pour les Services web, mais il semble ne plus en tenir compte.

J'ai juste essayé de Delphi 7 projets de démonstration (SOAPDMServerWAD, un serveur avec presque pas d'INTERFACE utilisateur, et SOAPDMClient) et a été incapable de les amener à fonctionner, même en Delphi 7.

Si quelqu'un a déjà fait une telle démonstration de travail en Delphi XE, ou Delphi 2010, identique à l'ancien SOAPDMServerWAD+SoapDMClient démos, de travail en Delphi XE, et avec au moins le minimum de l'INTERFACE utilisateur qui vient de Delphes application Serveur SOAP assistant, ce serait parfait.

Mise à jour: La démo s'affiche tout le chemin jusqu'à Delphi 2010, mais utilise le désormais obsolète WAD (web-app-débogueur), j'ai essayé de le porter sur la nouvelle Indy runtime/web-app-development-harnessing-code, mais je n'arrive pas à le faire fonctionner. La démo fonctionne, mais le serveur n'a pas d'interface Utilisateur, et ne semble pas être en cours d'exécution n'importe quel serveur HTTP (testé à l'aide d'un navigateur web, via http://localhost:port/ d'url. Par le chemin, essayer de googler pour une démo, et cette url arrive, et j'ai demandé à moins d'une heure auparavant. C'est effrayant, google.

Update2 Voir ma propre réponse ci-dessous, un lien est à venir avec code de travail.

39voto

Warren P Points 23750

J'ai posté l'ensemble des démos pour le SAVON sur CodeCentral comme élément 28789.

Ceux-ci contiennent tous un seul de Delphi 2007 era SAVON démos de l' WebServices le dossier, maintenant mis à jour pour Delphi XE et XE2, y compris la conversion de l'ancien WAD serveurs dans de nouveaux INDY VCL serveurs. Vous pensez que cela a été impressionnant, sauf que c'est pas. Il est vraiment facile. Suffit d'utiliser l'assistant pour créer un nouveau projet, puis ajoutez l'interface du service web et unités de mise en œuvre, et d'autres unités qui appartiennent à la vieille démo, pour le projet. Une fois qu'ils sont ajoutés au projet, ils fonctionnent, tout simplement. Base de démonstration de SAVON Serveurs sont vraiment faciles à construire à Delphes, une fois que vous avez un travail de démonstration, vous verrez que c'est assez facile à modifier et à étendre.

La démo que la meilleure des réponses à la question que j'ai posée plus haut est dans l' SOAPDataModule sous-dossier.

Les problèmes de base avec la démo de 2007 era sont deux:

  1. Le WAD (débogueur d'application web) est parti. vous devez faire un nouveau serveur à l'aide de l'Indy serveur, pour des performances optimales des fins de démonstration, vous permet d'économiser de l'utilisation de WAD (qui a disparu) ou la mise en place ISAPI de l'environnement, en vertu de l'IIS, qui n'est pas vraiment idéal pour des fins de démonstration. Le nouveau projet de démonstration que j'ai faite est appelé SoapDMServerINDY, et il se compose d'un module de données (datamod_u.pas), une VCL forme de l'Interface Utilisateur de l'unité (IndyServerVCLFormUnit.pas) et un Indy Serveur web module, appelé IndyServerWebModule.pas.

  2. Le Delphi 2007 démo cassé grâce à la nouvelle pratique d'avoir un Debug/Win32 sous-dossier que la démo exécutable est maintenant, vous avez besoin d'aller plus loin. Je fixe le serveur de démonstration afin qu'il vous avertit par un message d'erreur si les fichiers de données ne peut pas être localisé, vous permet d'économiser de la mystérieuse "erreur d'analyse XML". J'ai aussi ajouté un peu de vérification des erreurs dans quelques démos de sorte qu'il vous dit que vous devez installer interbase pour cette démo de travailler, depuis certains des démos besoin d'Interbase installé et en cours d'exécution, et on exige un alias appelé IBLOCAL d'exister, et de préférence une table appelée EMPLOYEE d'exister.

enter image description here

Les éléments de cette démonstration sont d'un serveur (SoapDMServerINDY, sur la base du code de SOAPDMServerWAD), et le client SOAPDMClient qui se connecte à la démo et a deux pages, une page va vous montrer les bases de données d'accès par l'intermédiaire d'un DBGrid + dataset accès à distance et la deuxième page montre comment appeler une coutume méthode de SAVON.

L'utilisation de la démo: Vous devez démarrer le serveur, cliquez sur le bouton démarrer, puis démarrez le client et cliquez sur se Connecter.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X