![]() |
AW: Webservice
Zitat:
|
AW: Webservice
Zitat:
ach deswegen, habe mich schon gewundert was nun DDL schon wieder sein soll?! Also später werde ich wahrscheinlich alle Respones benötigen. Nun geht es aber in erster Linie mal darum eine Antwort mit mindestens 1 Parameter zu bekommen und das in Delphi 6. Wenn du mich da etwas unterstützen könntest.... Gibt dann auch wieder was weißt schon... |
AW: Webservice
Liste der Anhänge anzeigen (Anzahl: 1)
Ich würde den Ansatz mit der DLL weiterverfolgen.
Minimalbeispiel: |
AW: Webservice
Zitat:
|
AW: Webservice
Hier zum Beispiel:
![]() Du musst dich aber auch mit XML und den Umgang damit in Delphi auskennen, wenn du das umsetzen willst. |
AW: Webservice
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Vielleicht kannst du mir einen kleinen Tipp geben. Habe einen Webservice gefunden, welcher mir auf Anfrage der Bankleitzahlen entsprechende Daten der jeweiligen Bank gibt. Im SOAP-UI passt soweit alles. Ich weiß jetzt nur nicht wie ich den Request in Delphi formulieren soll?! Also in meinem Beispiel die Anfrage der BLZ. Ich hänge auch nochmal einen Screenshot vom SOAP-UI an. Danke schonmal. Hier der CODE:
Delphi-Quellcode:
unit Main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Memo1: TMemo; Button1: TButton; Memo2: TMemo; // procedure IdHTTP1Connected(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} //SB procedure TForm1.IdHTTP1Connected(Sender: TObject); var Stream:TMemoryStream; Url: String; URL_:String; List: TStrings; HTTP_Version: TStringStream; Result: String; Test:TIdHeaderInfo; procedure TForm1.Button1Click(Sender: TObject); begin IdHTTP1:=TIdHTTP.Create(nil); HTTP_Version:= TStringStream.Create('HTTP/1.1'); List:=TStringlist.Create; List.Add('axis2'); List.Add('services'); List.Add('BLZService'); Url:= 'http://thomas-bayer.com/axis2/services/BLZService'; // IdHTTP1.ProtocolVersion:='1.1'; IdHTTP1.Request.ContentType:='text/xml;charset=UTF-8'; IdHTTP1.Request.Connection:='Keep-Alive'; IdHTTP1.Host:= 'thomas-bayer.com'; IdHTTP1.Request.UserAgent:= 'Apache-HttpClient/4.1.1 (java 1.5)'; IdHTTP1.Request.ContentLength:= 280; // IdHHTP1.Request. IdHTTP1.Request.AcceptEncoding:= 'gzip,deflate'; IdHTTP1.Post('ttp://thomas-bayer.com',List,HTTP_Version); IdHTTP1.Port:=80; IdHTTP1.Get(URL_,Stream); // Stream.LoadFromStream(); memo1.Lines.Add(IdHTTP1.Response.Server); //Memo2.text:=IdHTTP1.Post('http://thomas-bayer.com/axis2/services/BLZService',List,HTTP_Version); end; |
AW: Webservice
Schnell zusammen gebastelt und es klappt auch:
Siehe dazu: ![]() ![]()
Code:
PS: Das Schnipsel sollte man nicht 1 zu 1 übernehmen, ich bin mir recht sicher das hier einiges nicht korrekt freigegeben wird, ganz zu schweigen vom style.
procedure TForm1.FormCreate(Sender: TObject);
var HTTP: TIdHTTP; Body: TStringList; Response: String; IdLogDebug: TIdLogDebug; Stream: TMemoryStream; begin try IdLogDebug := TIdLogDebug.Create; IdLogDebug.Active := true; Stream := TMemoryStream.Create; HTTP := TIdHTTP.Create; HTTP.Request.ContentType := 'application/soap+xml;charset=UTF-8'; HTTP.Request.AcceptEncoding := 'gzip,deflate'; HTTP.Intercept := IdLogDebug; Body := TStringList.Create; Body.Add('<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:blz="http://thomas-bayer.com/blz/">'); Body.Add('<soap:Header/>'); Body.Add('<soap:Body>'); Body.Add('<blz:getBank>'); Body.Add('<blz:blz>50010517</blz:blz>'); Body.Add('</blz:getBank>'); Body.Add('</soap:Body>'); Body.Add('</soap:Envelope>'); Body.SaveToStream(Stream); Response := HTTP.Post('http://thomas-bayer.com/axis2/services/BLZService', Stream); HTTP.Destroy; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end; |
AW: Webservice
|
AW: Webservice
Kein Thema Elrond,
habe e soweit schon hinbekommen. Was noch nicht so ganz klappt ist die Response auszugeben. Im Wireshark habe ich eine Aufzeichnung parallel laufen, da sehe ich das die Antwort korrekt gesendet wird. Mein Problem ist der Post. Der möchte drei Parameter übergeben bekommen, und wenn ich die Response zuweise meckert der Compiler wegen inkompatibler Daten. Nehme mal an dass das wieder an der steinalten Delphi-Version (6) liegt. Aber ich muss diese verwenden. Ich habe mal einen Screenhot vom Code angehangen. |
AW: Webservice
Liste der Anhänge anzeigen (Anzahl: 1)
Man sollte den Screen-Shot auch hochladen.....
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz