Para empezar, vamos al menú superior y seleccionamos FILE -> NEW -> OTHER, en el popup que aparece seleccionamos la solapa WebServices y dentro de dicha seccion seleccionamos la primer opción SOAP server application.

Elegimos CGI Stand-alone executale.



Si hemos completado bien los pasos, tendremos cuatro unidades creadas, el proyecto, la unit1 que es la que contiene al modulo soap, y la unidad de interface y la de implementacion.
Tenemos creado ahora el web service sin ninguna funcionalidad.
Para agregarle la funcionalidad deseada, Bastara con agregar en el archivo terminado en xxxxImpl la función con el código y agregar solo el encabezado de esa misma función en el archivo terminado en xxxxxIntf en ambos casos despues de la funcion agregamos la convencion stdcall;
ejemplo:
En nuestro ejemplo el archivo de interface se llama: wspruebaImpl
type
{ TwsPrueba }
TwsPrueba = class(TInvokableClass, IwsPrueba)
public
function getDate: string; stdcall; //nuestra llamada a funcion
end;
//La implementacion
function TwsPrueba.getDate: string;
begin
result := DateToStr(now());
end;
y el archivo de interface: WspruebaIntf
type
{ Invokable interfaces must derive from IInvokable }
IwsPrueba = interface(IInvokable)
['{07C0DF70-9C18-4975-8233-CF3FE73DBBB3}']
function getDate: string; stdcall; //la llamada que agregamos solamente esta linea
{ Methods of Invokable interface must not use the default }
{ calling convention; stdcall is recommended }
end;
Ya esta listo nuestro WebService. Compilamos el proyecto y nos genera un archivo generalmente .exe. dicho archivo hay que agregarlo en una carpeta en la parte de cgi-bin de nuestro servidor. Mas adelante voy a subir un breve resumen de como armar un servidor en 10 minutos pero no es ahora la intención. Si hicimos las cosas correctamente al colocar http://localhost/cgi-bin/micarpeta/wsprueba.exe en el navegador tendría que aparecer la interface del web service.

No hay comentarios:
Publicar un comentario