Este artigo é uma tradução do artigo: http://blog.marcocantu.com/blog/2019-february-rad1031-http-soap-clients.html
No RAD Studio 10.3.1, o Embarcadero corrigiu alguns problemas e fez algumas melhorias relacionadas à biblioteca do cliente HTTP e aos clientes SOAP na plataforma Windows.
No RAD Studio 10.3, o Embarcadero moveu a implementação do cliente SOAP para a biblioteca cliente HTTP para todas as plataformas, dados os problemas de suporte HTTPS com a arquitetura anterior (baseada em Indy) nas plataformas móveis. No Windows, já havia uma implementação nativa, mas baseada em uma biblioteca cliente HTTP do Windows mais antiga.
Essa mudança causou algumas incompatibilidades, nós começamos a abordar no 10.3.1 – considerando que este é um recurso que não quebra a interface, então nós adicionamos ajudantes de classe ao invés de mudar o código original em alguns casos.
Gerenciando Certificados
A maior mudança em 10.3 foi que a implementação do THTTPReqResp foi substituída usando a classe THTTPClient, que oferece suporte a certificados com uma interface e um conjunto de recursos um pouco diferentes. Agora, em 10.3.1, há várias mudanças de implementação na unidade System.Net.HttpClient.Win.pas. Aqui estão mais detalhes:
- Para simplificar o gerenciamento de certificados, agora há um novo editor de propriedades no IDE para a propriedade ClientCertificate da classe THTTPReqResp – veja a imagem abaixo
- O método THTTPReqResp.DoNeedClientCertificate da unidade Soap.SOAPHTTPTrans tinha instrução ausente – observe que este é o método subjacente ao novo evento 10.3 OnNeedClientCertificate de THTTPReqResp, que você pode usar para personalizar o comportamento
- O código-fonte da unidade Soap.Win.CertHelper.pas foi adicionado à fonte (em uma pasta como C: \ Arquivos de Programas (x86) \ Embarcadero \ Studio \ 20.0 \ source \ soap)
Os problemas do portal de qualidade abordados por melhorias nessa área incluem RSP-23195, RSP-23177, RSP-23344, RSP-23076 e RSP-23225. Aqui está o novo editor de propriedades, que engloba os recursos da plataforma Windows
Descompressão HTTP
O segundo aprimoramento significativo em 10.3.1 em comparação com 10.3 para cliente HTTP e clientes SOAP é o suporte aprimorado para a descompactação da biblioteca cliente HTTP. Existem agora novos tipos em System.Net.HttpClient:
1 2 | THTTPCompressionMethod = (Desinflar, GZip, Brotli, Qualquer); THTTPCompressionMethods = conjunto de THTTPCompressionMethod; |
Esse recurso é exposto em novas propriedades de tempo de execução de algumas classes relacionadas, que controlam a descompactação automática do corpo da resposta
1 2 3 | THTTPClient . AutomaticDecompression TNewHTTPClient . AutomaticDecompression THTTPReqResp . AutomaticDecompression |
Quando esta propriedade é definida, o cabeçalho “Accept-Encoding” correspondente será incluído na solicitação e o corpo da resposta será automaticamente decodificado. A implementação real depende da plataforma e atualmente é suportada no Windows e no Linux. No iOS, o MacOS e a decodificação das plataformas Android são executadas automaticamente pelo sistema operacional.
Querendo melhorar seu desenvolvimento, otimizar o seu tempo e de ter a possibilidade de atender melhor os seus clientes?
Com o treinamento RestFul DataSnap você irá desenvolver um servidor de aplicação RestFul com Datasnap e utilizar todos os seus benefícios que irá facilitar muito a sua vida, quando seu cliente disser “preciso dos meus dados na web hoje mesmo” você estará preparado para entregar uma solução robusta e eficaz.Nesse treinamento você irá aprender de forma prática a criar as principais rotinas de CRUD e Segurança para servidores RestFul Datasnap que podem ser consumidos de qualquer aplicação front-end.
No treinamento eu desenvolvi um método que alinha exemplos reais de aplicação das técnicas para resolver problemas do dia a dia.
CLIQUE AQUI PARA SABER MAIS SOBRE O TREINAMENTO RESTFULL COM DATASNAP