Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Como aun no he podido instalar el SOAP en delphi 5 (Casimiro Notevi y yo no perdemos la esperanza ), he estado buscanco mas informacion sobre el componente de indy TidHTTP y he conseguido realizar "post" y "get" al Web Service que me quería conectar. Os pongo el codigo utilizado para cada uno:

Código:
procedure TForm1.Get(Sender: TObject);
begin
http.Request.Username:='user';
http.Request.Password:='pass';
showmessage(http.Get('http://apidelproveedor.com'));

//esto funciona y devuelve un fichero xml con la informacion que solicito.
end;
Código:
procedure TForm1.post-subiendofichero(Sender: TObject);
var
  datos: TIdMultiPartFormDataStream;
begin      
http.Request.Username:='user';
http.Request.Password:='pass';
datos:= TIdMultiPartFormDataStream.Create;
datos.AddFormField('description','prueba');
datos.AddFormField('comments','comentario sobre el documento');
datos.AddFormField('reference','3');
datos.AddFile('file','C:\firmar1.pdf','application/pdf');

showmessage(http.Post('http://apidelproveedor.com', datos));

datos.free;
end;
Código:
procedure TForm1.post-sinenviarfichero(Sender: TObject);
var
  aStream: TMemoryStream;
  Params: TStringStream;
begin         
http.Request.ContentType:='application/x-www-form-urlencoded';
http.Request.Username:='user';
http.Request.Password:='pass';

aStream := TMemoryStream.create;
Params := TStringStream.create('');

try
    Params.WriteString('name=' + 'pepe' + '&');
    Params.WriteString('email=' + 'pep@hotmail.com' + '&');
    Params.WriteString('id-country=' + 'ES' + '&');
    Params.WriteString('id-number=' + '44444444P');
    with HTTP do
    begin
      try
        HTTP.Post('http://apidelproveedor.com', Params,aStream);
      except
        on E: Exception do
          showmessage('Error encountered during POST: ' + E.Message);
      end;
    end;
    aStream.WriteBuffer(#0' ', 1);
    showmessage(PChar(aStream.Memory));
  except
  end;

params.free;
aStream.free;
end;
Pero ahora tengo otra duda. En la api del proveedor me indica que mediante el "post" creo un documento en mi cuenta (esto correcto como he indicado arriba) y para borrar un documento me indica que debo utilizar la operación "delete". Pero no encuentro ninguna acción "delete" en el componente TidHTTP. Tiene otro nombre? Como podría hacer esta operación?

Gracias por sus comentarios, me estan sirviendo de mucho.

Saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #2  
Antiguo 10-05-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Tras revisar mas información, he averiguado que el componente idTHHP posee la accion "DoRequest". He utilizado el siguiente código:

Código:
http.Request.Username:='User';
http.Request.password:='pass';

resultado:= TSTringStream.create('');

http.DoRequest(hmdelete,'direccion del recurso a eliminar',nil,resultado);
Pero al ejecutarlo me da el siguiente error:
"DOCTYPE HTML PUBLIC '-//IETF//DTD HTML 2.0//EN"

Alguien sabe que tipo de error es este?
Hay alguna otra forma de realizar un "delete" a un web service?

Saludos.
__________________
El saber no ocupa lugar.
Responder Con Cita
  #3  
Antiguo 11-05-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Unhappy

No encuentro nada, de como poder realizar un "delete" utilizando Indy.

Nadie puede ayudarme???

Alguna idea???????????
__________________
El saber no ocupa lugar.
Responder Con Cita
  #4  
Antiguo 11-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por URBANO Ver Mensaje
No encuentro nada, de como poder realizar un "delete" utilizando Indy.
Nadie puede ayudarme???
Alguna idea???????????
¿Delete?, pero este hilo no trataba de "cómo me autentifico"
Responder Con Cita
  #5  
Antiguo 12-05-2011
URBANO URBANO is offline
Miembro
 
Registrado: jul 2003
Ubicación: Huelva
Posts: 126
Poder: 21
URBANO Va por buen camino
Tienes razon, pero ha evolucionado.

Ya el tema de la autentificacion quedo resuelto, como he comentado más arriba.

Ahora el problema ha evolucionado a "delete".
Es mas conveniente crear un nuevo hilo?
__________________
El saber no ocupa lugar.
Responder Con Cita
  #6  
Antiguo 12-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por URBANO Ver Mensaje
Ahora el problema ha evolucionado a "delete".
Es mas conveniente crear un nuevo hilo?
Imagina que alguien sabe la respuesta a esa pregunta y lee en el título: "Como me autentifico". ¿Crees que entrará a contestarte sobre el delete?, pues eso
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Socket Error # 10054 con TIdHTTP rolandoj Internet 10 19-01-2012 15:45:11
Ayuda urgente con Indy TIdHTTP Pugile C++ Builder 1 17-03-2011 12:21:04
TIDHTTP Con User y Pass Neeruu Varios 0 28-12-2009 13:36:49
Como pasar de TidHTTP con TWebModule a Web Service con XML ? rolandoj Internet 1 20-10-2008 17:45:48
TIdHTTP, dlls.... betto Internet 3 27-03-2007 21:49:03


La franja horaria es GMT +2. Ahora son las 06:33:54.


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
Copyright 1996-2007 Club Delphi