He publicado el conjunto completo de demos para SOAP en CodeCentral como elemento 28789 .
Contienen todas y cada una de las demostraciones SOAP de la era de Delphi 2007 de la WebServices
carpeta, ahora actualizada para Delphi XE y XE2, incluida la conversión de los viejos servidores WAD en nuevos servidores INDY VCL. Uno pensaría que fue impresionante, excepto que no lo es. Es muy fácil Simplemente use el asistente para crear un nuevo proyecto, y luego agregue la interfaz del servicio web y las unidades de implementación, y cualquier otra unidad que pertenezca a la demostración anterior, al proyecto. Una vez que se agregan al proyecto, simplemente funcionan. Los servidores SOAP de demostración básica son realmente fáciles de construir en Delphi, una vez que tenga una demostración en funcionamiento, encontrará que es bastante fácil modificarla y extenderla.
La demostración que mejor responde a la pregunta que hice anteriormente está en la SOAPDataModule
subcarpeta.
Los problemas básicos con la demostración de la era 2007 son dos:
El WAD (depurador de aplicaciones web) se ha ido. debe crear un nuevo servidor utilizando el servidor Indy, para fines de demostración óptimos, evitando el uso de WAD (que ya no existe) o la configuración del entorno ISAPI, bajo IIS, que no es ideal para fines de demostración. El nuevo proyecto de demostración que hice se llama SoapDMServerINDY , y consta de un módulo de datos (datamod_u.pas), una unidad de interfaz de usuario de formulario VCL ( IndyServerVCLFormUnit.pas
) y un módulo web del servidor Indy, llamado IndyServerWebModule.pas
.
La demostración de Delphi 2007 se rompió gracias a la nueva práctica de tener una subcarpeta Debug / Win32 en la que ahora se encuentra el ejecutable de demostración, debe ir más allá. Arreglé el servidor de demostración para que le avise con un mensaje de error si no se pueden ubicar los archivos de datos, lo que le ahorra el misterioso "error de análisis XML". También agregué algunos errores de verificación en algunas de las demostraciones para que le diga que necesita instalar interbase para que esta demostración funcione, ya que algunas de las demostraciones requieren que Interbase esté instalado y en ejecución, y una requiere un alias llamado IBLOCAL para existir, y preferiblemente una tabla llamada EMPLOYEE
a existir.
Los elementos de esta demostración son un servidor ( SoapDMServerINDY , basado en el código de SOAPDMServerWAD), y el cliente SOAPDMClient que se conecta a la demostración y tiene dos páginas, una página mostrará acceso a datos básicos a través de una conexión remota de conjunto de datos DBGrid +, y la segunda La página muestra cómo invocar un método SOAP personalizado.
Para usar la demostración: debe iniciar el servidor, hacer clic en el botón de inicio, iniciar el cliente y hacer clic en Conectar.