Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   THTTPRIO y encoding utf-8 (https://www.clubdelphi.com/foros/showthread.php?t=44101)

jlcasih 28-05-2007 22:15:03

THTTPRIO y encoding utf-8
 
Hola, estoy consumiendo desde un servicio desarrollado en delphi 7 un WebService desarrollado con el framework .NET 2.0, el problema que tengo es que el objeto THTTPRIO, cuando envía el XML al servidor, no esta seteando bien el encoding, y por lo tanto los valores WideString llegan con caracteres extraños. Ya intenté seteando las propiedades
Código:

UseUTF8InHeader
a true y las Options. Sabe alguien que puede estar pasando? Agradesco su aporte u algo que sepan al respecto..

Saludos

jlcasih 30-05-2007 03:38:23

Hola, ya solucione los problemas que tengo, se los comparto por si le sucede a alguien.
1. Al importar el WebService a la unidad creada se le debe agregar en la seccion initialization:
Código:

InvRegistry.RegisterInvokeOptions(TypeInfo([Nombre de servicio]),ioDocument);
2. Si se están pasando parametros como WideString, se debe setear las propiedades SetUTF8Header a true del objeto THTTPRIO y se debe modificar la unidad Rio.pas en el evento DoBeforeExecute agregandole la siguiente porción de código al final del metodo:
Código:

    StrStrm := TStringStream.Create(ReqW);
    try
      StrStrm.Position := 0;
      Request.CopyFrom( StrStrm, 0 );
    finally
      StrStrm.Free;
    end;

y agregar esta unidad al proyecto para que tome los cambios.

Aca va una referencia:
http://www.spectrum.eti.br/news/corr..._7_2005_e_2006

3. En algunos casos fue necesario utilizar la función UTF8Decode para cadenas que estaban encodidadas a UTF8 ( en el caso de mails, etc. ).

Bueno espero le sirva a alguien. Saludos.


La franja horaria es GMT +2. Ahora son las 07:45:58.

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