Ver Mensaje Individual
  #266  
Antiguo 09-03-2017
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.085
Reputación: 23
keys Va por buen camino
Lo que hago es en el objeto THTTPTRIO en el evento OnbeforeExecute capturar el xml y cambiarlo a mano.

Código Delphi [-]
    var
      ss:TFileStream;
      Fichero : TStringList;
      i : Integer;
     nficheroTemp : string;
   begin
     
     NficheroTemp := 'c:\tmp\LCFTemporal.Xml';
     if FileExists(NficheroTemp) then
         DeleteFile(NficheroTemp);

     ss := TFileStream.Create(NficheroTemp, fmCreate);
     SOAPRequest.Position := 0;
     ss.CopyFrom(SOAPRequest, SOAPRequest.size);
     ss.Free;
     SOAPRequest.Position := 0;

     Fichero := TStringList.Create;
     Fichero.LoadFromFile(NficheroTemp);
     for i := 0 to Fichero.Count - 1 do
       Fichero.Strings[i] := StringReplace(Fichero.Strings[i],'','', [rfReplaceAll]);
     Fichero.SaveToFile(NficheroTemp);

     SOAPRequest.Size:=0;
     ss:=TFileStream.Create(NficheroTemp, fmOpenRead);
     SOAPRequest.Position := 0;
     SOAPRequest.CopyFrom( ss, ss.Size);
     ss.Free;

     SOAPRequest.Position := 0;

Perdona el texto no sale bien en el codigo. es así

Fichero.Strings[i] := StringReplace(Fichero.Strings[i],'<Cobro>','<Cobro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroInformacion.xsd">', [rfReplaceAll]);

Por cierto esto tambien te sirve para guardar el xml en una carpeta y poder ver lo que estás enviando.
Responder Con Cita