Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Prestashop (https://www.clubdelphi.com/foros/showthread.php?t=82714)

JosepGA 05-04-2013 14:01:02

Prestashop
 
Hola a todos,

tengo un problema al integrar datos de mi aplicación con el modulo web de Prestashop mediante TIdHTTP, puedo pedir una ficha y actualizarla, pero no he conseguido crear una nueva. ¿ Alguien me puede asesorar al respecto ?

El código que utilizo ahora es el siguiente:

Código Delphi [-]
var
  strXml: string;
  ListValues := TStringList;
  Response: TMemoryStream;
  TheXML: IDOMDocument;
  ChildNode: IDOMNode;
  XMLRequest: TStringStream;
begin
  strXml := IdHTTP1.Get ('http://mitienda/api/customers?schema=blank');

  XMLDocument1.LoadFromXML(strXml);
  XMLDocument1.Active := True;

  IDomSel := (XMLDocument1.DocumentElement.DOMNode as IDOMNodeSelect);

  TheXML := XMLDocument1.DOMDocument;

  Node := IDomSel.selectNode('customer/id');
  ChildNode := Node.AppendChild(TheXML.createCDATASection('id'));
  ChildNode.NodeValue :=  sNuevoID;

  Node := IDomSel.selectNode('customer/firstname');
  ChildNode := Node.AppendChild(TheXML.createCDATASection('firstname'));
  ChildNode.NodeValue := sFirstName;

  Node := IDomSel.selectNode('customer/lastname');
  ChildNode := Node.AppendChild(TheXML.createCDATASection('lastname'));
  ChildNode.NodeValue := sLastName;

  XMLDocument1.SaveToXML(strXml);

  ListValues := TStringList.Create; // para poder utilizar metodo POST
  Response := TMemoryStream.Create;
  IdHTTP1.Request.ContentType := 'text/xml';
  IdHTTP1.Post('http://mitienda/api/customers/?xml=' + strXml, ListValues, Response);
  Response.Free;
  ListValues.Free;
end;

Gracias de antemano

Casimiro Notevi 05-04-2013 21:02:32

Por favor, recuerda poner títulos descriptivos a tus preguntas, gracias.

Y, por cierto, no sé cómo esperas que te ayuden si no cuentas nada :confused:

cointec 06-04-2013 10:45:06

Si utilizas el método post, el XML debería ir como uno de los valores de listvalues, no como parte de la URL. Si fuese en la URL, deberías llamar al método get.

JosepGA 08-04-2013 08:27:42

Gracias Cointec,

probare lo que me dices.

Casimiro, tienes razón, perdona, el problema es que enviando el archivo XML no hace nada, ni me da error ni realiza la alta.

Igualmente gracias, voy a ver si consigo algo


La franja horaria es GMT +2. Ahora son las 00:13:13.

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