Ver Mensaje Individual
  #3957  
Antiguo 17-11-2023
Gherardo Gherardo is offline
Registrado
 
Registrado: dic 2009
Posts: 8
Reputación: 0
Gherardo Va por buen camino
error 008 el mensaje ha sido modificado en transito

Buenos días a todos:

Tengo problemas al enviar el fichero xml a Guipúzcoa pues me cambia los acentos y caracteres como la ñ, y me devuelve el error '008 El mensaje ha sido modificado en transito'.
Utilizo Delphi 11 y componentes RESTClient, RESTRequest y RESTResponse. el fichero firmado tiene codificación utf-8.
pero al enviarlo parece que no se respeta.
El código que utilizo es este:

Código Delphi [-]
procedure TForm1.Button15Click(Sender: TObject);
var
  Texto:String;
  S,ArchivoString: TStrings;
  f1:TextFile;
 FicheroAEnviar,ArchivoRespuesta : String;
begin

 RESTRequest1.Method :=TRESTRequestMethod.rmPOST;
 RESTRequest1.Accept:='utf-8';
 RESTRequest1.AcceptCharset:='utf-8;q=0.8';

 RESTClient1.SecureProtocols :=[THTTPSecureProtocol.TLS11,THTTPSecureProtocol.TLS12];
 RESTClient1.ContentType:= 'application/xml;charset=UTF-8';
 RESTClient1.AcceptEncoding:='utf-8;q=0.8';
 RESTClient1.OnNeedClientCertificate:=RESTClient1NeedClientCertificate;

 Opendialog1.Execute();
 FicheroAEnviar:=OpenDialog1.FileName;
 ArchivoRespuesta:=Copy(FicheroAEnviar,1,Length(FicheroAEnviar)-4)+'resp';

 ArchivoString := TStringList.Create();
 try
  ArchivoString.LoadFromFile(FicheroAEnviar,Tencoding.UTF8);
  RESTRequest1.addbody(ArchivoString.Text,ctAPPLICATION_XML);
 finally
  ArchivoString.Free;
 end;

 RESTRequest1.Execute;

 var CodigoRespuesta := RESTRespuesta.StatusCode;
 var Respuesta           := RESTRespuesta.Content;
 var Cabeceras           := RESTRespuesta.Headers;

 s := TStringList.Create();
 S.Add(RESTRespuesta.Content);
 S.SaveToFile(ArchivoRespuesta, TEncoding.UTF8);

end;

Si alguien puede ayudar estaré agradecido, pues ando desesperado, llevo casi dos semanas atascado con este problema, y ya estoy pensando en dejar al cliente.

Muchas gracias.
Responder Con Cita