Archive for the 'eBay' Category

GESCHIEHT IHNEN RECHT: eBay-Auktion des Jahres

Da hat jemand einen Ferrari-Schlüssel abzugeben. Ist ja für sich nicht tragisch, wenn nicht die Hintergrundgeschichte wäre:

Ich biete hier meinen alten original Ferrari Schlüssel eines von meiner bescheuerten Ex-Frau geschrotteten Ferrari 360 Modena samt Schlüsselanhänger zum Kauf an.

Meine Olle hatte 2005 meinen hart erarbeiteten Ferrari in Stuttgart in einer 30er Zone quer gestellt und vor eine Hauswand gesetzt. Respekt! Der Wagen war damit ein wirschaftlicher Totalschaden (Zeitwert 120.000€). Spätestens hier hatte ich mir klar werden sollen, dass die Frau selber auch Schrott war!

Der Wagen war zwar Vollkasko versichert, aber meine Frau hatte 0,7 Promille (um 14 Uhr!) und die Versicherung weigerte sich den Schaden zu ersetzen. Mein Anwalt hatte mir vor einem Gerichtsprozess gegen die Versicherung abgeraten. Später sollte er mir zur Scheidung raten…

Zurück nach Stuttgart. Wir wohnten in NRW und ich wollte von ihr wissen, was sie denn in Stuttgart zu tun hatte. “Eine Überraschung für mich,” hatte sie damals geantwortet. Und was für eine Überraschung. Sie hatte natürlich einen Liebhaber in Stuttgart und wohl fleissig Sekt und Champagner mit ihm getrunken.

Meine Ex-Frau hat mich in unseren vier Ehejahren damit neben dem Ferrari gut 800.000€ gekostet, die Scheidung nicht mit eingerechnet.

Hier eine unvollständige und teilweise geschätze Auflistung:

Schuhe: 50.000€

Anziehsachen: 200.000€

Ferrari: 185.000€ (Neupreis)

Versicherung: 12.000€

Sprit: 30.000€

Schmuck: 200.000€

Möbel, etc.: 250.000€

Friseur, Wellness und der ganze Scheiss: 30.000€

Schönheits-Operationen: 70.000€ (es waren viele nötig!)

Naja, vielen Dank, Barbara, ich hab´s doch gerne gemacht! Nun wurde letzten Monat das Scheidungsurteil gesprochen und ich dürfte noch einmal kräfig blechen. Sie sagte, ich hätte in unsere Ehe-Zeit ja auch kräftig von ihr profitiert, andere Steuerklasse und so. Natürlich, Barbara.

Nun verkaufe ich den original Ferrari-Schlüssel, welchen ich eigentlich als Andenken aufbewahren wollte. Aber warum sollte ich mich an eine derart dämliche Frau erinnern wollen? Also jetzt kommt nach meiner Frau auch das zweite Scheiss-Ding weg aus meinem Leben.

Also, wer Lust hat an seinem Schlüsselbund einen echten Ferrari-Schlüssel baumeln zu lassen, dann fleissig bieten. Vielleicht gründe ich von dem Geld einen Verein zur Bekämpfung dämlicher Ehefrauen oder so… Für alle Emanzen: Ich bin auch nicht der Meinung, dass Frauen generell schlecht sind. Also nicht alle. Aber meine definitiv.

Der Schlüssel macht, wenn man es denn möchte, in der Öffentlichkeit schnell Eindruck und man wird häufig von netten Damen angesprochen. Man sollte nur nicht auch den Smart-Schlüssel mit am Schlüsselbund haben oder in Fahradklamotten in die Disco gehen.

Eigentlich ist es bei diesem Text auch schon wurscht, ob es sich um ein Fake handelt, oder ein echtes Schicksal dahinter steht, wobei ich zu ersterem tendiere. Aber wie gesagt: Schick mit einer netten Story hinterlegt. Ich würd denken, der Schlüssel bringt so glatt den doppelten Preis.

(via LawBlog)

DOTNET: eBay SDK und CountryDetailList

Wer derzeit mit dem eBay SDK für .NET arbeitet, wird eine böse Erfahrung erleben, wenn er die von eBay bereitgestellte Liste der möglichen Artikelstandorte herunterladen möchte. Folgender Code führt beim derzeitigen Stand des SDKs (Version 523) zu einer Exception:

// Create the call
GeteBayDetailsCall details =
   new GeteBayDetailsCall();
details.Site = SiteCodeType.Germany
details.EnableCompression = true;

// List of countries
CountryDetailsTypeCollection countries = null;

// Execute the call
try
{
   // Get the countries
   details.GeteBayDetails(
      new DetailNameCodeTypeCollection(
         new DetailNameCodeType[] {
            DetailNameCodeType.CountryDetails }));

   // Assign the countries
   countries = details.CountryDetailList;
}
catch (Exception ex)
{
   // Handle the exception
}

Unweigerlich springt das Ding in den catch-Block und meldet, dass der CountryCode-Typ “ME” (steht für “Montenegro”) nicht einem Element der CountryCodeType-Auflistung zugeordnet werden kann (“Instanzvalisierungsfehler: ‘ME’ ist kein gültiger Wert für CountryCodeType”). Selbiges gilt übrigens für das Element “RS” (für Serbien).

Schaut man sich die CountryCodeType-Auflistung an, wird man auch feststellen, dass es dort kein “ME”-Element gibt. Damit wäre ganz elegant jede .NET-Applikation von der eBay-Nutzung ausgeschlossen, die sich an die eBay-BestPractices hält.

Wenn es nicht einen Workaround gäbe: Man nehme das zurückgegebene SOAP und parse das manuell durch. So man es benötigt, wandele man die Elemente dann händisch in die korrekten Elemente um und generiere die Liste der Länder händisch. Dabei muss man lediglich die Ausnahme abfangen, die auftritt, wenn man versucht, den Wert “ME” in ein Element der CountryCodeType-Auflistung zu konvertieren. Folgender Code muss in den catch-Block, damit es funktioniert:

// Get the SOAP
string soap = details.SoapResponse;

// Parse the SOAP directly
XmlDocument soapDoc = new XmlDocument();
soapDoc.LoadXml(soap);

XmlNamespaceManager mgr =
new XmlNamespaceManager(soapDoc.NameTable);
mgr.AddNamespace(“soap”, “http://schemas.xmlsoap.org/soap/envelope/”);
mgr.AddNamespace(“xsd”, “http://www.w3.org/2001/XMLSchema”);
mgr.AddNamespace(“xsi”, “http://www.w3.org/2001/XMLSchema-instance”);
mgr.AddNamespace(“ebay”, “urn:ebay:apis:eBLBaseComponents”);

XmlNodeList countries = soapDoc.SelectNodes(
   “//ebay:CountryDetails”, mgr);

CountryDetailsTypeCollection cdc =
   new CountryDetailsTypeCollection();

foreach (XmlNode countryInfo in countries)
{
   // Name und Beschreibung auslesen
   string countryName = countryInfo.SelectSingleNode(
      “./ebay:Country”, mgr).InnerText;
   string countryDescr = countryInfo.SelectSingleNode(
      “./ebay:Description”, mgr).InnerText;

   try
   {
      // Erzeugen des CountryDetailsTypes
      CountryDetailsType cdt = new CountryDetailsType();
      cdt.Country = (CountryCodeType)
         Enum.Parse(typeof(CountryCodeType), countryName);
      cdt.Description = countryDescr;

      // Merken
      cdc.Add(cdt);
   }
   catch { }

}
countries = cdc;

Wenn man das umgesetzt hat, funktioniert auch der Abruf der Länder wieder korrekt.

Aber peinlich isses schon für die Herrschaften, gelle?