Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Delphi para la web (https://www.clubdelphi.com/foros/forumdisplay.php?f=51)
-   -   Error en Webservice funcion envio de sms (https://www.clubdelphi.com/foros/showthread.php?t=83503)

webmasterplc 24-06-2013 23:53:36

Error en Webservice funcion envio de sms
 
buenas estoy tratando de crear un Webservice en delphi 7 en la cual tengo una funcion pero me da este error:
[Error] wsKSMSImpl.pas(15): Unsatisfied forward or external declaration: 'TwsKSMS.enviarSMS'

mi codigo es este.

Código Delphi [-]
{ Invokable implementation File for TwsKSMS which implements IwsKSMS }

unit wsKSMSImpl;

interface

uses SysUtils, Classes, IdHTTP,InvokeRegistry, Types, XSBuiltIns, wsKSMSIntf;

type

  { TwsKSMS }
  TwsKSMS = class(TInvokableClass, IwsKSMS)

  public
   function enviarSMS (url,usuario,clave,phone,mensaje : string) :string;stdcall;
   end;


implementation

function enviarSMS (url,usuario,clave,phone,mensaje : string) :string;stdcall;

var
  http: TIdHttp;
  params: TStrings;
  respuesta: string;
begin
    http := TIdHTTP.Create(nil);
    params := TStringList.Create;

    begin
        params.Add('usuario='+usuario);
        params.Add('clave='+clave);
        params.Add('telefonos='+phone);
        params.Add('texto='+mensaje);
        respuesta := http.Post(url, params);
    end;
    params.Free;
    http.Free;
end;
exports
 enviarSMS;

initialization
  { Invokable classes must be registered }
  InvRegistry.RegisterInvokableClass(TwsKSMS);

end.

TiammatMX 25-06-2013 00:11:59

Cita:

Empezado por webmasterplc (Mensaje 462721)
buenas estoy tratando de crear un Webservice en delphi 7 en la cual tengo una funcion pero me da este error:
wsKSMSImpl.pas(15): Unsatisfied forward or external declaration: 'TwsKSMS.enviarSMS'...

Pues a riesgo de equivocarme, el path donde está instalado TwqKSMS o no es correcto o no existe. Revísale por ahí, seguro que ése es el problema.

webmasterplc 25-06-2013 00:23:50

Soy nuevo en esto seria mi primer webservice no se donde lo configuramos
Cita:

Empezado por tiammat (Mensaje 462723)
Pues a riesgo de equivocarme, el path donde está instalado TwqKSMS o no es correcto o no existe. Revísale por ahí, seguro que ése es el problema.


TiammatMX 25-06-2013 00:32:45

Cita:

Empezado por webmasterplc (Mensaje 462725)
Soy nuevo en esto seria mi primer webservice no se donde lo configuramos

No es el path del webservice, sino del componente que usas para enviar el mensaje. Eso puedes verlo en las opciones generales de Delphi.

Ahora que si a través del webservice envías el SMS, entonces faltan o sobran o son incorrectos los parámetros que le mandas al método.

egostar 25-06-2013 00:48:13

Hola

A mi me parece que no estas haciendo bien el Servicio Web, le estás dando forma de una DLL, la palabra reservada exports no existe en un Servicio Web (Hasta donde mi experiencia me permite saber), Delphi cuenta con su experto para crear un Servicio Web y puedes acceder a él desde

File --> New --> Others --> WebService --> SOAP server Application

Saludos

Sinaloense 25-07-2013 20:10:29

El problema es que en la clase TwsKSMS esta declarando la función enviarSMS, pero en el desarrollo de la función tienes:

function enviarSMS (url,usuario,clave,phone,mensaje : string) :string;stdcall;

No esta dentro de la clase, tendriás que hacer:

function TwsKSMS .enviarSMS (url,usuario,clave,phone,mensaje : string) :string;stdcall;

para que se considere dentro de la clase o quitarla de la declaración de la clase.


La franja horaria es GMT +2. Ahora son las 04:39:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi