[DUG] Http help
Cameron Hart
Cameron.Hart at flowsoftware.co.nz
Fri Feb 26 11:36:34 NZDT 2010
Just sent this with attached dll but the list doenst like it as its too
big so you will have to find your own Open SSL dlls....
You get 'Invalid IOHandler' because you have not applied a SSL handler
to your idHTTP object, yet you are posting to a HTTPS address. The bits
of code you need are below
Uses IdSSLOpenSSL, IdSSL
SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
function SSLIOHandlerVerifyPeer(Certificate: TIdX509; AOk: Boolean;
ADepth: Integer): Boolean;
begin
Result := True;
end;
procedure SSLIOHandlerGetPassword(var Password: String);
begin
Password := '';
end;
SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); //was Self
6/6/06
SSLIOHandler.MaxLineAction := maSplit;
SSLIOHandler.OnVerifyPeer := SSLIOHandlerVerifyPeer;
SSLIOHandler.OnGetPassword := SSLIOHandlerGetPassword;
SSLIOHandler.SSLOptions.RootCertFile := RootCertificate;
SSLIOHandler.SSLOptions.KeyFile := SSLClientKeyFile;
SSLIOHandler.SSLOptions.CertFile := SSLClientCertFile;
SSLIOHandler.SSLOptions.Method := IndySSLTypeArray[FSSLCLientType];
SSLIOHandler.SSLOptions.Mode := sslmUnassigned; //sslmClient;
SSLIOHandler.SSLOptions.VerifyMode := [sslvrfPeer];
HTTP.IOHandler := SSLIOHandler
The hard part is getting the correct ssl dlls for the version of indy
you have. The attached work for me with indy 10.
* Please note I will be on leave from Monday 8th March through to
Wednesday 24th March. For support during this time please contact
support at flowsoftware.co.nz <mailto:support at flowsoftware.co.nz> or 09 476
3577
Cameron Hart Development Manager
Flow Software Limited
PO Box 305-237, Triton Plaza
P
+64 9 476 3579
Auckland 0757, New Zealand
M
+64 21 222 3569
www.flowsoftware.co.nz <http://www.flowsoftware.co.nz>
E
cameron.hart at flowsoftware.co.nz <mailto:cameron.hart at flowsoftware.co.nz>
This message is intended for the addressee named above. It may contain
privileged or confidential information. If you are not the intended
recipient of this message you must not use, copy, distribute or disclose
it to anyone.
P Please consider the environment before printing this email
From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz]
On Behalf Of Robert martin
Sent: Friday, 26 February 2010 11:13 a.m.
To: NZ Borland Developers Group - Delphi List
Subject: [DUG] Http help
Hi Guys
I had imported a WSDL file and built a soap service to send data to a
web service. Unfortunately there is a bug in the WSDL that impacts
delphi but seems to be ignored in Microsoft tools (it really is a
problem with the wsdl file). Anyway since it is a simple job I thought
it might be quicker to fix by just removing the soap and building the
XML manually and posting it with idHttp.
However I cant get it to work ! When I try and post my test xml to the
web serivce I get an 'Invalid IOHandler' message in the app. I have no
ioHandler defined but that works fine in my other apps where I post to
php based web services. I am sure it is just some weird indy bug but I
am under a huge deadline and need to sort this. Any help would be
greatly appreciated.
code follows (this is quick and dirty proof of concept code)
var
sl : TStringList;
PostDataStream : TStringStream;
SendStream : TStringStream;
begin
PostDataStream := TStringStream.Create('');
sl := TStringList.Create;
try
IdHTTP.Request.Username := '9313527067946306';
IdHTTP.Request.Password := 'passdfsw9634306';
IdHTTP.ReadTimeout := 5000;
sl.LoadFromFile('E:\Work\Test post\TestRequest.XML');
SendStream := TStringStream.Create(sl.text);
IdHTTP.Post('
https://uateclonline.nzpost.co.nz/eclonlinewebnowse/Services.asmx',
SendStream, PostDataStream); //Error here
ShowMessage(PostDataStream.DataString);
finally
sl.Free;
PostDataStream.Free;
SendStream.Free;
end;
--
Robert Martin
Software development manager
Chreos
www.chreos.co.nz
Ph +64 03 377-0495
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20100226/c44fc3c4/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 649 bytes
Desc: image001.jpg
Url : http://listserver.123.net.nz/pipermail/delphi/attachments/20100226/c44fc3c4/attachment-0002.jpe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 4211 bytes
Desc: image002.jpg
Url : http://listserver.123.net.nz/pipermail/delphi/attachments/20100226/c44fc3c4/attachment-0003.jpe
More information about the Delphi
mailing list