Fórum Soap com webservice wsdl #476583
17/04/2014
0
Estou tentando executar via soap umas funções que estão em um webservice wsdl. A autenticação desse ws fica no header. Já tentei de várias formas e maneiras, utilizando vários exemplos da web mas não funciona.
O xml deve ser enviado em um formato específico, conforme mostro abaixo:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header>
<tem:Autenticacao>
<tem:Login>xxxxx</tem:Login>
<tem:Senha>xxxxx</tem:Senha>
<tem:Codigo>x</tem:Codigo>
</tem:Autenticacao>
</soap:Header>
<soap:Body>
<tem:RecuperarAgenda>
<tem:CODIGO_CFC>2</tem:CODIGO_CFC>
<tem:DATA>27/03/2014</tem:DATA>
</tem:RecuperarAgenda>
</soap:Body>
</soap:Envelope>
E este é o código(uma das formas) que estou tentando utilizar no delphi:
procedure TForm2.Button4Click(Sender: TObject);
var
Rio : THTTPRIO;
autent: Autenticacao;
begin
Rio := THttpRIO.Create(nil);
autent := Autenticacao.Create;
autent.Login := 'xxxxx';
autent.Senha := 'xxxxx';
autent.Codigo := 'x';
Rio.SOAPHeaders.Send(autent);
resultado := GetIntegracaoCadastroHttpGet.RecuperarAgenda('27/03/2014');
ShowMessage(resultado);
end;
Sempre recebo o retorno: "server did not recognize the value of http header soapaction", como se eu não estivesse enviando o header.
Agradeço se alguém puder me ajudar.
Obrigado desde já.
Henry Maltz
Curtir tópico
+ 0Posts
22/04/2014
Henry Maltz
Gostei + 0
30/04/2014
Gledstonprego
Gostei + 0
30/04/2014
Gledstonprego
assim:
coloque dois memos e declare em uses XmlDoc
procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: String;
var SOAPRequest: WideString);
var xml : TStringlist;
begin
xml := TStringlist.create;
try
mmRequest.Text:= SOAPRequest;
finally
xml.Free;
end;
end;
e na recepção:
procedure TForm1.HTTPRIO1AfterExecute(const MethodName: String;
SOAPResponse: TStream);
var xml : TStringlist;
begin
xml := TStringlist.create;
try
soapresponse.Position:=0;
xml.LoadFromStream(SOAPResponse);
mmResponse.Text:= xmlDoc.FormatXMLData(xml.Text);
finally
xml.Free;
end;
end;
Gostei + 0
30/04/2014
Henry Maltz
Te agradeço muito pela ajuda... Eu já resolvi o problema. Na realidade, o problema era que o usuário que a empresa criou tinha erro e não funcionava. Só fui descobrir isso pq eles limparam a base, dai ele me deu outro usuário e simplesmente passou a funcionar.
Mas novamente te agradeço, pois na época eu postei em 3 sites de fórum diferentes e não recebi nenhum retorno.
Um abraço.
Gostei + 0
06/07/2014
Marcos Cruz
estou fazendo integração com empresa de enviar sms, ate ja envia o problema e retorno por exemplo consultar sms lidos, respondidos e que retorno nao retorna so variável ele retorna tipo Dataset e nao e como eu leu isso? alguem sabe?
segue links
http://webservices.twwwireless.com.br/reluzcap/wsreluzcap.asmx?WSDL
http://webservices.twwwireless.com.br/reluzcap/
função é a StatusSMSNaoLido
quero pegar esse retorno que é dataset e abrir no clientdataset alguem sabe?
Gostei + 0
06/07/2014
Marcos Cruz
estou fazendo integração com empresa de enviar sms, ate ja envia o problema e retorno por exemplo consultar sms lidos, respondidos e que retorno nao retorna so variável ele retorna tipo Dataset e nao e como eu leu isso? alguem sabe?
segue links
http://webservices.twwwireless.com.br/reluzcap/wsreluzcap.asmx?WSDL
http://webservices.twwwireless.com.br/reluzcap/
função é a StatusSMSNaoLido
quero pegar esse retorno que é dataset e abrir no clientdataset alguem sabe?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)