Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/SOAP/Client Applications    [ Add a report in this area ]  
Report #:  103625   Status: Open
[REGRESSION in XE2] SOAP requests doesn't ask for digital certificate when needed
Project:  Delphi Build #:  16.0.4358.45540
Version:    16.3 Submitted By:   Fábio Gomes
Report Type:  Crash / Data loss / Total failure Date Reported:  2/22/2012 12:28:56 PM
Severity:    Critical / Show Stopper Last Updated: 12/6/2013 2:37:25 PM
Platform:    All versions Internal Tracking #:   25377
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 39
Description
in XE2, the windows dialog to select the certificate is never shown and an error is displayed instead.
Steps to Reproduce:
Open the attached project and click on the only button in the form.

This same project in Delphi XE, shows the windows dialog for you to select your digital certificate.

In XE2, unit Soap.SOAPHTTPTrans.pas, line 925 the code was changed from:

      Result := CallInternetErrorDlg;

to

      if RaiseError then
        RaiseCheck(LastError);  
      Result := CallInternetErrorDlg;

So now in XE2, the windows dialog to select the certificate is never shown and an error is displayed instead.

We had to patch the source file, because our application depends on digital certificates and it just doesn't work.
Workarounds
Patch the unit Soap.SOAPHTTPTrans.pas, line 925 and remove the lines:

      if RaiseError then
        RaiseCheck(LastError);
Attachment
xe2 bug.zip
Comments

None

Server Response from: ETNACODE01