Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ebayAPI WSDL Einstieg (https://www.delphipraxis.net/105349-ebayapi-wsdl-einstieg.html)

bennle 20. Dez 2007 10:09


ebayAPI WSDL Einstieg
 
Hallo,
Ich habe soeben mir die WSDL für Ebay in meinen Programm geladen. Soweit auch so gut! (WSDL unter http://developer.ebay.com/webservice...t/ebaySvc.wsdl)

Für den ersten einstieg halte ich mich an den C# Code
Delphi-Quellcode:
using System;
using TesteBaySoap405.com.ebay;    // use your project name here
namespace TesteBaySoap405           // use your project name here

  class GeteBayOfficialTime
  { 
    [STAThread]
    static void Main(string[] args)
    { 
       string endpoint = "https://api.sandbox.ebay.com/wsapi";
       string callName = "GeteBayOfficialTime";
       string siteId = "0";
       string appId = "yourAppId";    // use your app ID
       string devId = "yourDevId";    // use your dev ID
       string certId = "yourCertId";  // use your cert ID
       string version = "405";
       // Build the request URL
       string requestURL = endpoint
       + "?callname=" + callName
       + "&siteid=" + siteId
       + "&appid=" + appId
       + "&version=" + version
       + "&routing=default";
       // Create the service
       eBayAPIInterfaceService service = new eBayAPIInterfaceService();
       // Assign the request URL to the service locator.
       service.Url = requestURL;
      // Set credentials
      service.RequesterCredentials = new CustomSecurityHeaderType();
      service.RequesterCredentials.eBayAuthToken = "yourToken";   // use your token
      service.RequesterCredentials.Credentials = new UserIdPasswordType();
      service.RequesterCredentials.Credentials.AppId = appId;
      service.RequesterCredentials.Credentials.DevId = devId;
      service.RequesterCredentials.Credentials.AuthCert = certId;
      // Make the call to GeteBayOfficialTime
      GeteBayOfficialTimeRequestType request = new GeteBayOfficialTimeRequestType();
      request.Version = "405";
      GeteBayOfficialTimeResponseType response = service.GeteBayOfficialTime(request);
      Console.WriteLine("The time at eBay headquarters in San Jose, California, USA, is:");
      Console.WriteLine(response.Timestamp);
    } 
  } 
}
Funktioniert auch soweit, bis auf das Anlegen der Klasse eBayAPIInterfaceService! Ich finde keine eBayAPIInterfaceService Klasse!! Welche muss ich denn da nehmen? Wäre super wenn mir einer die Klasse nennt oder was ich tun muss, damit ich dieses Beispiel ausführen kann.

Ich bitte zu beachten, dass ich leider nicht das .Net SDK verwenden kann, da ich eine Win32 Anwendung habe.

BelugaBlue 20. Dez 2007 11:36

Re: ebayAPI WSDL Einstieg
 
Hast Du schon einen WSDL-Import durchgeführt ?

bennle 20. Dez 2007 11:40

Re: ebayAPI WSDL Einstieg
 
Hallo,
Ja klar!
Bin auch schon so weit:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  SiteID, appID, devID, certID, version, requestURL, user: String;
  service: RequesterCredentials;
  request: GeteBayOfficialTimeRequestType;
  Response: GeteBayOfficialTimeResponseType;
  DateTime: String;
begin
       siteId := '77'; //Deutsch!
       appId := '';    // use your app ID
       devId := '';    // use your dev ID
       certId := '';  // use your cert ID
       user := '' ; //TokenID
       version := '405';

       service := ebaySvc.RequesterCredentials.Create;
       service.eBayAuthToken := user;
       service.Credentials := ebaySvc.UserIdPasswordType.Create;
       service.Credentials.AppId := appID;
       service.Credentials.DevId := devID;
       service.Credentials.AuthCert := certID;

       //Nun wird der Aufruf gestartet (OffizelleZeit!)
       request := ebaySvc.GeteBayOfficialTimeRequestType.Create;
       request.Version := version;

       response := ebaySvc.eBayAPIInterface('').GeteBayOfficialTime(request); //Hier hängt es noch
       datetime := response.Timestamp.NativeToXS; //DateTimeToStr(response.Timestamp.AsDateTime);
       ShowMessage('Die offizelle Zeit ist:'+ datetime);
end;
Ich weiß, dass es nicht schön ist, aber ich versuche ja auch nur mal einen response zu bekommen.
Mach ich was falsch? Oder bin ich nur Blind!

Bei eBayAPIInterface('') muss noch was in die Klammer! Aber ich weiß nicht was ich da rein nehmen könnte :(

bennle 20. Dez 2007 22:20

Re: ebayAPI WSDL Einstieg
 
Also alles was ich seit heute mittag gemacht habe bringt mich nicht wirklich weiter.
Zwischenzeitlich habe ich mal den C# Code versucht und geprüft.
Natürlich funktioniert dieser auf anhieb!

Herausgefunden habe ich das in Delphi das Feld RequesterCredentials nicht als Teil von eBayuAPIInterface erstellt wird.

Kann ich das per Hand irgendwie umbiegen? Oder ist der Aufwand zu groß und der Sache nicht wert.

Welche Möglichkeit besteht mir noch außer auf des .Net SDK?

hronny 23. Nov 2008 13:40

Re: ebayAPI WSDL Einstieg
 
Ich weis das der Beitrag schon 1 Jahr alt ist, aber gibt es denn jetzt eine Lösung für diese Frage?

bennle 23. Nov 2008 14:38

Re: ebayAPI WSDL Einstieg
 
Leider nein! Ich bin auf C# umgestiegen.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 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