Trabalhar com Soap sem utilizar Paleta Web Services

Delphi

15/03/2017

Pessoal vou ter que fazer um integração com serviços que utilizam o SOAP.

Tem como integrar com esses serviços sem os componentes da paleta Web Services ? , se sim como poderia ser feito ?
Jean Teixeira

Jean Teixeira

Curtidas 0

Respostas

Raylan Zibel

Raylan Zibel

15/03/2017

Tentou usar o WSDL Importer pra criar uma classe de conexão?
GOSTEI 0
Jean Teixeira

Jean Teixeira

15/03/2017

Rapaz o meu delphi nao tem a paleta web sevice. Essa opção so fica disponível nesse delphi.

No meu caso eu consigo montar a string soap de forma manual. Porém para fazer a conexão e envio gostaria de saber o que poderia utilizar no Delphi
GOSTEI 0
Raylan Zibel

Raylan Zibel

15/03/2017

Exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
  IdHTTP1: TIdHTTP;
  postData: TMemoryStream;
begin
  IdHTTP1 := TIdHTTP.Create(nil);
  postData := TMemoryStream.Create;
  try
    Memo1.Lines.Clear;
    postData.Position := 0;
    postData.LoadFromFile('soap11.xml');
    IdHTTP1.Request.ContentType := 'text/xml';
    IdHTTP1.Request.Charset := 'utf-8';
    IdHTTP1.Request.ContentLength := postData.Size;
    IdHTTP1.Request.CustomHeaders.Values['SOAPAction'] := 'http://www.webserviceX.NET/GetWeather';
    IdHTTP1.ProtocolVersion := pv1_1;
    IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions + [hoKeepOrigProtocol];
    Memo1.Lines.Text := IdHTTP1.Post('http://www.webservicex.net/globalweather.asmx', postData);
  except
    on e: Exception do
    begin
      Memo1.Lines.Text := e.Message;
      Memo1.Lines.Add(IdHTTP1.ResponseText);
    end;
  end;
  postData.Free;
  IdHTTP1.Free;
end;

Tirado daqui: http://stackoverflow.com/questions/26994432/delphi-authorization-tidhttp-fails-over-http-proxy
Favor testar.
GOSTEI 0
Jean Teixeira

Jean Teixeira

15/03/2017

muito obrigado
vou testar aqui valew.
GOSTEI 0
POSTAR