Thema: Delphi PayPal Soap Anbindung

Einzelnen Beitrag anzeigen

Harry29

Registriert seit: 1. Sep 2015
2 Beiträge
 
#1

PayPal Soap Anbindung

  Alt 2. Sep 2015, 08:20
Hallo zusammen,

ich kämpfe mit einer PayPal Soap Anbindung unter Delphi XE5.
PayPal erwartet einen individuellen Soap Header mit den Zugangsdaten.
In der importierten WSDL steht hier für die Klasse RequesterCredentials (TSoapHeader)bereit.
Hier nun ein einfaches Beispiel eines Aufrufes:

Delphi-Quellcode:
procedure TTest.PayPalTest;
var
  Soap: THTTPRIO;
  PayPal: PayPalAPIInterface;
  Sec: RequesterCredentials;
  Request: RefundTransactionReq;
  Response: RefundTransactionResponse;
begin
  Soap := THTTPRIO.Create(nil);
  try
    CoInitialize(nil);
    PayPal := GetPayPalAPIInterface(False, 'https://api-3t.sandbox.paypal.com/2.0/', Soap);

    Sec := RequesterCredentials.Create;
    Sec.Credentials := UserIdPasswordType.Create;
    Sec.Credentials.Username := 'hello world';
    Sec.Credentials.Password := 'hello world';
    Sec.Credentials.Signature := 'hello world';
    Soap.SOAPHeaders.Send(Sec);
    Soap.SOAPHeaders.SetOwnsSentHeaders(True);

    Request := RefundTransactionReq.Create;
    Request.RefundTransactionRequest := RefundTransactionRequest.Create;
    Response := PayPal.RefundTransaction(Request);
  finally
    FreeAndNil(Response);
    FreeAndNil(Request);
    CoUnInitialize;
  end;
end;
Wenn ich nun das Programm beende, meldet mein FastMM das es ein Speicherloch
im Bereich dieser RequesterCredentials gibt. Verstehe ich nicht, durch SetOwnsSentHeaders wird der Destructor
von RequesterCredentials nach dem Request aufgerufen.

Vielleicht hat hier jemand schon mal PayPal integriert und kann mir einen Tipp geben,
oder vielleicht mache ich generell etwas mit den Headern falsch, auch dann wäre ich um einen Tipp dankbar.
  Mit Zitat antworten Zitat