Ir al contenido



Foto

Consumir WebService con acceso a Base de Datos


  • Por favor identifícate para responder
76 respuestas en este tema

#41 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 21 noviembre 2010 - 08:25


:grin:  :cry:  hola segui todos los pasos del ejemplo pero a ejecutar el programa, (abrir el .exe) me sale un error: [0x0005]: Operation Not Supported. al hacer paso en el IWsClientes1 al terminar la rutina de la function GetIWSdbAccess lanza el mensaje
Project Appcliente.exe raised exception class EremotableException with message '[0x0005]: Operation Not Supported'.. que podra ser este error, algo en configuracion?


Hola genyus00, bienvenido a DelphiAccess

¿ Declaraste las funciones del WebService como stdcall ?

Si nos proporcionas algo de código, sería más fácil ayudarte.

Salud OS


Hola, gracias por tomarte el tiempo de ayudarme, en el siguiente link coloco la carpeta de la aplicacion webservice y la cliente, dentro esta el codigo fuente, la dll y el .exe generados, el codigo esta echo en delphi 2007, creo abre sin problemas en delphi 7 http://download632.m...iendo un WS.zip
  • 0

#42 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 22 noviembre 2010 - 09:29

Hola, he recreado el ejemplo en delphi 7 (tanto ell webservice como la aplicacion cliente) y me da el siguiente error: Imagen Enviada
  • 0

#43 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 22 noviembre 2010 - 07:56

Hola

¿ En que sistema operativo lo estas ejecutando ?

Salud OS
  • 0

#44 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 23 noviembre 2010 - 12:13

Hola, S.O.. Microsoft Windows XP Profesional Version 2002 SVP 3
  • 0

#45 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 22 diciembre 2010 - 12:48

Hola, bueno por fin pude hacer funcionar el WS con acceso a DB, el problema parece ser, era del paquete soap de delphi 2007, cree la aplicacion en delphi 2010 y santo remedio.. ahora estoy tratando de descifrar que archivos adicionales coloca el d2010 al proyecto, de modo que una vez creado compilado y todo al abrirlo en d2007.. hum.. funciona sin problemas, la cuestion es que mi d2010 es un demo de pocos dias, pero igual mientras sera crear el proyecto inicial de WS y cliente que lo consume en d2010 y despues abrirlo en d2007 y completar el proyecto, osea hacer lo de crear el WS y lo de importar WSDL y todo eso en d2010 y una vez echo eso de alli en adelante seguirlo con d2007.. que locura ah?....  :lipsrsealed: :cheesy:

Bueno, mi pregunta actual.. es como la -dll del ws se registra en Windows 7... dado que activo el IIS de W7 y creo el directorio virtual. pero al colocar la cadena de http://localhost.......... xxxxx.dll lo que hace es que me envia a descargar la .dll  :cry:
  • 0

#46 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 22 diciembre 2010 - 07:58

Hola, bueno por fin pude hacer funcionar el WS con acceso a DB, el problema parece ser, era del paquete soap de delphi 2007, cree la aplicacion en delphi 2010 y santo remedio.. ahora estoy tratando de descifrar que archivos adicionales coloca el d2010 al proyecto, de modo que una vez creado compilado y todo al abrirlo en d2007.. hum.. funciona sin problemas, la cuestion es que mi d2010 es un demo de pocos dias, pero igual mientras sera crear el proyecto inicial de WS y cliente que lo consume en d2010 y despues abrirlo en d2007 y completar el proyecto, osea hacer lo de crear el WS y lo de importar WSDL y todo eso en d2010 y una vez echo eso de alli en adelante seguirlo con d2007.. que locura ah?....  :lipsrsealed: :cheesy:

Bueno, mi pregunta actual.. es como la -dll del ws se registra en Windows 7... dado que activo el IIS de W7 y creo el directorio virtual. pero al colocar la cadena de http://localhost.......... xxxxx.dll lo que hace es que me envia a descargar la .dll  :cry:


Hola, debes de configuralo de esta forma:

Imagen Enviada

Salud OS
  • 0

#47 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 23 diciembre 2010 - 10:43

Hola, gracias por ayudarme, lleve a cabo todos los pasos e incluso active los isapi en windows que no esraban, mi pregunta es ahora si con solo esto ya bastsa, o taca adiconar el diractorio virtual, si es asi, cual sera la direccion para acceder al Ws, que hiria en le archivo de configurraicon del dw.racias  :embarrassed:
  • 0

#48 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 23 diciembre 2010 - 11:12

Imagen Enviada

Imagen Enviada
  • 0

#49 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 23 diciembre 2010 - 09:29

Hola amigo

Te muestro como tengo configurado uno de mis WebService, esto en Windows Vista, pero el IIS es la misma versión.

Imagen Enviada

Imagen Enviada

Salud OS
  • 0

#50 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 01 febrero 2011 - 02:38

Hola, buenas, seria bueno como borrar todos los ultimos comentarios de conexion a web service 7 y colocar en forma organizada paso a paso desde la creacion del Web site hasta el paso final que seria poder tener la dll funcionando, por que la verdad es un saperoco entender asi.. en momento logre hacer la conexion con ayuda de un amigo aca y a la final no supimos ni como fue que salio, y ahora que hice cambios en la dll y quise reemplazarla..  :sad:esto exploto, no hemos podido volver a hacerlo funcionar, regrese aca para mirar y comparar y la verdad quedamos igual.. seria bueno.. eso.. borrar todos los ultimos temas de WS y colocar uno paso a paso . seria de mucha ayuda y creo que muchos lo agradeceriamos..  :cheesy:
  • 0

#51 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 01 febrero 2011 - 03:03

Hola, buenas, seria bueno como borrar todos los ultimos comentarios de conexion a web service 7 y colocar en forma organizada paso a paso desde la creacion del Web site hasta el paso final que seria poder tener la dll funcionando, por que la verdad es un saperoco entender asi.. en momento logre hacer la conexion con ayuda de un amigo aca y a la final no supimos ni como fue que salio, y ahora que hice cambios en la dll y quise reemplazarla..  :sad:esto exploto, no hemos podido volver a hacerlo funcionar, regrese aca para mirar y comparar y la verdad quedamos igual.. seria bueno.. eso.. borrar todos los ultimos temas de WS y colocar uno paso a paso . seria de mucha ayuda y creo que muchos lo agradeceriamos..  :cheesy:


Hola

Me haré un tiempo para desarrollar un paso a paso.

Salud OS
  • 0

#52 genyus00

genyus00

    Advanced Member

  • Miembros
  • PipPipPip
  • 51 mensajes

Escrito 02 febrero 2011 - 02:21

Hola egostar, bueno de tanto darle y darle, hasta que lo consegui, no te preocupes yo subo la solucion con las imagenes y de paso dejo mi pequenio aporte al tema.  (b)  :cool:
  • 0

#53 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 02 febrero 2011 - 02:30

Hola egostar, bueno de tanto darle y darle, hasta que lo consegui, no te preocupes yo subo la solucion con las imagenes y de paso dejo mi pequenio aporte al tema.  (b)  :cool:


Que bien amigo genyus00

Puedes crear un hilo nuevo ya que es un tema digno de tener su propio espacio (y)

Salud OS
  • 0

#54 marcelogracia

marcelogracia

    Member

  • Miembros
  • PipPip
  • 38 mensajes

Escrito 11 noviembre 2011 - 08:09

Amigo, en primer lugar quiero agradecerte por semajante trabajo expueto ...
Segundo, queria preguntarte porque lo estoy trabajando con WXP y Delphi XE... tengo un error: "access violation ...."
luego de actualizar o agregar un nuevo registro....

Cuanod me fijo en bbdd el registro esta agregado o actualizado correctamente, lo que deduzco que hay un problema en querer refrezcar el treeview...
Este codigo me tira error:
 
    if FAddClient.ModalResult = mrOK then begin
            XMLString := GetIwsDBAccess.GetClientNames;

No anda el metodo para pedir los nombres de clientes... ...
Luego de eso.. cierro la aplicación y consulto la bbdd y la información esta bien guardada..
Podrías darme una mano???.
SLDS, espero tu respuesta...
Abrazo, marcelo desde argentina. 
  • 0

#55 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 11 noviembre 2011 - 01:08

Hola Marcelo, bienvenido a []iDelphiAccess[/i]

Me puedes decir de que tipo es la variable XMLString y el método GetIwsDBAccess.GetClientNames; por el error me parece que tienes un problema en la creación de algun objeto, desconozco si es en el webservice o en el cliente que lo consume. Si nos proporcionas un poco más de código tendríamos más facilidad de ayudarte.

SaludOS

  • 0

#56 marcelogracia

marcelogracia

    Member

  • Miembros
  • PipPip
  • 38 mensajes

Escrito 14 noviembre 2011 - 05:36

Solo segui paso a paso el tutorial y me encuentro con ese error... al cerrar el dialogo de carga de datos...

procedure TfrmAppCliente.Button1Click(Sender: TObject);
var
  FAddClient : TfrmProcClient;
  I: integer;
begin
  FAddClient := TfrmProcClient.Create(nil);
  FAddClient.Caption := 'Agrega Cliente consumiendo Web Service';
  FAddClient.Button2.Caption := 'Agrega Cliente';
  FAddClient.Proceso := 1;
  FAddClient.ShowModal;
  if FAddClient.ModalResult = mrOK then begin
    XMLString := GetIWSdbAccess.GetClientNames;
    CreaXML('Names.XML',XMLString);
    Lista := ClientList.LoadClientList('Names.XML');
    TreeView1.Items.Clear;
    with Lista do begin
        if Cliente_id.Count > 0 then begin
          for I := 0 to Cliente_id.Count - 1 do begin
              TreeView1.Items.Add(nil,format('%.*d',[3,Cliente_id[i]])+' '+
                                                        Nombre[i]+' '+
                                                        Apellidos[i]);
          end;
        end;
    end;
    TreeView1.SetFocus;
  end;
  FAddClient.Free;
end;


Busque por todos lados si habia mal definido algo y esta todo bien... según el tutorial publicado.. No entiendo...
Lo probe en casa a los fuentes publicados aca.. y me tira un error que dice que El elemento XML debe tener un valor en columna 0.. algo asi...
Asi que no se donde puede estar el error.
SLDS.

  • 0

#57 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.248 mensajes
  • LocationArgentina

Escrito 14 noviembre 2011 - 06:16

Hola marcelogarcia,
Por favor para preguntas es más aconsejable iniciar un hilo en el foro correspondiente. Esto es un tutorial y lo más adecuado es que estuviera libre de consultas.


Las consultas van aparte, en su propio hilo. En todo caso puedes remitirnos a que estás siguiendo este tutorial y aportar las referencias necesarias de cómo o que estuviste probando. Por favor en lo sucesivo trata al tema en su propio hilo.


Por cierto, para cuando escribas código utiliza las etiquetas [ delphi ] y [ /delphi ] sin los espacios entre los corchetes para darle el formato adecuado, o bien selecciona el código y presiona en el botón del casco hoplita que se encuentra justo debajo del combo "cambiar color". 


Saludos,
  • 0

#58 egallegos

egallegos

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 12 septiembre 2013 - 09:57

Hola egostar, bueno de tanto darle y darle, hasta que lo consegui, no te preocupes yo subo la solucion con las imagenes y de paso dejo mi pequenio aporte al tema.  (b)  :cool:


Hola amigo genyus00, soy nuevo aquí, hice el mismo ejercicio y me tope con el mismo problema que mencionas, entiendo que tienes la solución, no se si me la pudieras facilitar porque ya le he buscado de todas maneras y no encuentro como
  • 0

#59 darkerviti

darkerviti

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 29 enero 2014 - 06:59

Hola,

No se si es buena idea continuar este hilo, pero creo que mejor si se centraliza todo en este maravilloso tutorial ;)

Lo primero decir que estoy trabajando con DELPHI 6.

He estado pegandome con esto de los servicios web durante unos días y parece que por fin he conseguido llegar a algo, creo que me responde, al menos obtengo como resultado: ‘Credenciales incorrectas’

El servicio web al que tengo que realizar la conexion supongo que tendrá login y password, hay una via alternativa para hacerlo a mano desde una web y ahí tengo que hacer login.

He probado a poner en HTTPRIO.HTTPWebNode.UserName el usuario y en el Password la clave, pero, sigo obteniendo la misma respuesta.

He estado buscando por internet y he encontrado esto:



delphi
  1. procedure TTestMapPointRender.HTTPRIO1HTTPWebNode1BeforePost(
  2.   const HTTPReqResp: THTTPReqResp; Data: Pointer);
  3. var
  4.   UserName: string;
  5.   PassWord: string;
  6. begin
  7.   UserName := GetWSToken('MapPoint', 'UserName');
  8.   Password := GetWSToken('MapPoint', 'Password');
  9.   if not InternetSetOption(Data,
  10.               INTERNET_OPTION_USERNAME,
  11.               PChar(UserName),
  12.               Length(UserName)) then
  13.     raiseException(SysErrorMessage(GetLastError));
  14.  
  15.   if not InternetSetOption(Data,
  16.               INTERNET_OPTION_PASSWORD,
  17.               PChar(Password),
  18.               Length (Password)) then
  19.     raiseException(SysErrorMessage(GetLastError));
  20. end;



Mi problema es que no consigo acceder al evento BeforePost por ningun lado, y como tampoco tengo ni idea de si esto funcionara ...

Muchas gracias por vuestro tiempo.
  • 0

#60 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.948 mensajes
  • LocationMéxico

Escrito 29 enero 2014 - 09:01

Que tal darkerviti,

Lo que te puedo decir es que el usuarios y la contraseña deben ser parte de una clase que se llama TSOAPHeader y se deben enviar antes de llamar al método que quieres consumir.

Precisamente estoy desarrollando un ejemplo de éste tema, espero el fin de semana darme el tiempo para terminarlo y publicarlo.

Saludos

  • 0