Delphi avait l'habitude d'inclure un dossier de démonstration pour les services Web, mais ne semble plus l'inclure.
J'ai juste essayé les projets de démonstration de Delphi 7 ( SOAPDMServerWAD
, un serveur avec presque aucune interface utilisateur du tout, et SOAPDMClient
) et je n'ai pas pu les faire fonctionner, même dans Delphi 7.
Si quelqu'un a déjà fait une démonstration similaire dans Delphi XE, ou Delphi 2010, identique aux anciennes SOAPDMServerWAD+SoapDMClient
démos, fonctionnant sous Delphi XE, et avec au moins l'interface utilisateur minimale fournie par l'assistant d'application Delphi SOAP Server, ce serait parfait.
Mise à jour: La démo apparaît jusqu'à Delphi 2010 mais utilise le WAD (web-app-debugger) désormais obsolète, j'ai essayé de le porter sur le nouvel Indy runtime/web-app-development-harnessing-code
, mais je n'arrive pas à le faire fonctionner. La démo s'exécute, mais le serveur n'a pas d'interface utilisateur et ne semble pas exécuter de serveur HTTP (testé à l'aide d'un navigateur Web standard, via des http://localhost:port/
URL. En passant, essayez de rechercher une démo sur Google, et cette URL apparaît, et J'ai demandé il y a moins d'une heure. C'est effrayant, google.
Update2 Voir ma propre réponse ci-dessous, un lien sera bientôt disponible avec le code de travail.
la source
Réponses:
J'ai posté l'ensemble complet des démos pour SOAP sur CodeCentral en tant qu'article 28789 .
Ils contiennent chacune des démos SOAP de l'ère Delphi 2007 du
WebServices
dossier, maintenant mis à jour pour Delphi XE et XE2, y compris la conversion des anciens serveurs WAD en nouveaux serveurs INDY VCL. Vous penseriez que c'était impressionnant, sauf que ce n'est pas le cas. C'est vraiment simple. Utilisez simplement l'assistant pour créer un nouveau projet, puis ajoutez l'interface du service Web et les unités d'implémentation, ainsi que toutes les autres unités appartenant à l'ancienne démo, au projet. Une fois qu'ils sont ajoutés au projet, ils fonctionnent simplement. Démonstration de base Les serveurs SOAP sont vraiment faciles à construire dans Delphi, une fois que vous avez une démo fonctionnelle, vous constaterez qu'il est assez facile de la modifier et de l'étendre.La démo qui répond le mieux à la question que j'ai posée ci-dessus se trouve dans le
SOAPDataModule
sous-dossier.Les problèmes de base avec la démo de l'ère 2007 sont deux:
Le WAD (débogueur d'application Web) est parti. vous devez créer un nouveau serveur en utilisant le serveur Indy, à des fins de démonstration optimales, vous évitant d'utiliser WAD (qui a disparu) ou de configurer l'environnement ISAPI, sous IIS, ce qui n'est guère idéal à des fins de démonstration. Le nouveau projet de démonstration que j'ai créé s'appelle SoapDMServerINDY et se compose d'un module de données (datamod_u.pas), d'une unité d'interface utilisateur de formulaire VCL (
IndyServerVCLFormUnit.pas
) et d'un module Web Indy Server, appeléIndyServerWebModule.pas
.La démo de Delphi 2007 a éclaté grâce à la nouvelle pratique d'avoir un sous-dossier Debug / Win32 dans lequel se trouve maintenant l'exécutable de démonstration, vous devez aller plus loin. J'ai corrigé le serveur de démonstration pour qu'il vous avertisse avec un message d'erreur si les fichiers de données ne peuvent pas être localisés, vous évitant ainsi la mystérieuse "erreur d'analyse XML". J'ai également ajouté une vérification d'erreur dans quelques-unes des démos afin que cela vous indique que vous devez installer interbase pour que cette démo fonctionne, car certaines des démos nécessitent qu'Interbase soit installé et en cours d'exécution, et l'une d'elles nécessite un alias appelé IBLOCAL pour exister, et de préférence une table appelée
EMPLOYEE
à exister.Les éléments de cette démo sont un serveur ( SoapDMServerINDY , basé sur le code de SOAPDMServerWAD), et le client SOAPDMClient qui se connecte à la démo et a deux pages, une page affichera l'accès aux données de base via un jeu de données DBGrid + à distance, et la seconde La page montre comment invoquer une méthode SOAP personnalisée.
Pour utiliser 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.
la source