none
WebService consumido por Delphi 7 RRS feed

  • Pergunta

  • Boa noite pessoal... é o seguinte:

     

    Eu faço envio de dados em forma de xml (usando sempre os parametros como string, pra facilitar) mas estou tendo problemas com caracteres com acento, do envio da aplicação delphi para aplicação .net (web services). Quando eu envio a palavra "Adão", por exemplo, chega "Ad??ao".

     

    Alguem ja teve esse problema com acentos???

    quarta-feira, 28 de março de 2007 04:52

Respostas

  • Se não me falha a memória, no web.config, dentro do system.web, voce vai ter que incluir:

     

     <globalization
                requestEncoding=""
                responseEncoding=""
       />

     

    E aí vai tefinir no encoding algo que suporte os acentos que você quer. Não tenho certeza se o Delphi hoje trabalha do mesmo jeito, imagino que sim.


    quinta-feira, 29 de março de 2007 21:07

Todas as Respostas

  • Provavelmente voce vai ter que modificar o encoding desse web service
    quarta-feira, 28 de março de 2007 21:46
  • E como faço para mudar o encoding do webservice?
    quinta-feira, 29 de março de 2007 02:39
  • Se não me falha a memória, no web.config, dentro do system.web, voce vai ter que incluir:

     

     <globalization
                requestEncoding=""
                responseEncoding=""
       />

     

    E aí vai tefinir no encoding algo que suporte os acentos que você quer. Não tenho certeza se o Delphi hoje trabalha do mesmo jeito, imagino que sim.


    quinta-feira, 29 de março de 2007 21:07
  • CARA TB ESTOU COM O MESMO PROBLEMA COM OS ACENTOS, JA VIU ALGUMA SOLUÇÃO?

     

    SE JÁ PASSA PRA MIM,

    UM ABRAÇO

    quarta-feira, 30 de maio de 2007 02:13
  •  developermaster wrote:

    Boa noite pessoal... é o seguinte:

     

    Eu faço envio de dados em forma de xml (usando sempre os parametros como string, pra facilitar) mas estou tendo problemas com caracteres com acento, do envio da aplicação delphi para aplicação .net (web services). Quando eu envio a palavra "Adão", por exemplo, chega "Ad??ao".

     

    Alguem ja teve esse problema com acentos???

     

     

    cara o seguinte depois de muita luta, briga, sufoco, finalmente achei uma solução. Que na verdade vai ser no delphi e não no web service(Asp.net).

     

    O seguinte, tem que alterar o componente hattprio com as seguintes propriedades:

     

     

    object HTTPRIO: THTTPRIO
      OnAfterExecute = HTTPRIOAfterExecute
      OnBeforeExecute = HTTPRIOBeforeExecute
      URL = 'http://localhost:3972/WS_SysConsig/Service.asmx'
      HTTPWebNode.Agent = 'Borland SOAP 1.2'
      HTTPWebNode.UseUTF8InHeader = True
      HTTPWebNode.InvokeOptions = [soIgnoreInvalidCerts, soAutoCheckAccessPointViaUDDI]
      Converter.Options = []
      Converter.Encoding = 'utf-8'
      Left = 24
      Top = 24
    end

    quarta-feira, 30 de maio de 2007 02:47
  • Pegue esta informação no Help do Delphi 7 e me ajudou, pois estava com o mesmo problema.

     

    Fiz um WS no delphi que é consumido por uma aplicação .NET, e o XML aparecia com a acentuação trocada por ?????

     

     

    Tem que mudar o seguinte componente no seu WS em delphi:

     

    HTTPSoapPascalInvoker1

     

    mude:

     

    encoding = ''

    e ligue as opções:  soUTF8EncodeXML   e  soUTF8InHeader  em options.

     

    veja abaixo a dica no help do delphi 7:

     

    Note:    Some Web Services (such as Apache or .NET) require transport level encoding rather than DOM level encoding. In such cases, it is possible that setting Encoding can cause problems because the Web Service converts characters at the transport level and then converts a second time because of the encoding attribute that Encoding adds to the XML representation.  If a Web Service requires transport-level encoding and assumes UTF8, Encoding should be an empty string and the Options property should include soUTF8EncodeXML and soUTF8InHeader.

     

     

    []s

    Eduardo 

     

    segunda-feira, 25 de junho de 2007 20:28