Kommentare zu: Only use SOAP to wash your hands http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/ Technik, Kram und Drumherum Wed, 30 Dec 2015 21:32:06 +0000 hourly 1 https://wordpress.org/?v=4.4.14 Von: Rolf http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-228636 Mon, 16 Nov 2015 16:05:34 +0000 http://blog.jonaspasche.com/?p=1070#comment-228636 http://rolfrost.de/xml.html
http://rolfrost.de/oop.html

Viel Spaß damit

]]>
Von: damage http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-471 Wed, 25 May 2011 18:50:28 +0000 http://blog.jonaspasche.com/?p=1070#comment-471 Hi,
tjo, schon blöd wenn die WSDL nicht zur API paßt. Kann man sich das sparen, da hast du recht.

Falls du mal SOAP im Bezug auf Alcatel oder Cisco hörst: Da ist bis jetzt alles prima :)

Gruß
Daniel

]]>
Von: Jonas Pasche http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-462 Tue, 24 May 2011 13:55:04 +0000 http://blog.jonaspasche.com/?p=1070#comment-462 Das ist im Prinzip völlig richtig. Nur beinhaltet die WSDL-Datei aber schon mal einen falschen Endpoint. Die zurückgelieferten Daten validieren nicht gegen das in der WSDL-Datei referenzierte Schema. Die Umlaute sind falsch kodiert. Das Error-Handling sieht so aus, dass unter diversen Umstanden die API nicht ordentlich HTTP 200 und einen SOAP-Fault zurückliefert, sondern einen Internal Server Error, mit dem die SOAP-Library dann so gar nichts anzufangen weiß. Und last but not least: Egal welches Protokoll man wählt; selbst das tollste Protokoll macht eine schlecht designte API in irgendeiner Art und Weise besser, und schon gar nicht den Support des API-Anbieters … :-)

]]>
Von: Uli Stärk http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-461 Tue, 24 May 2011 13:36:21 +0000 http://blog.jonaspasche.com/?p=1070#comment-461 Das WSDL ist doch der Traum eines jeden Programmiereres (solange man die WSDL-Datei nicht von Hand schreiben muss). Lade die Datei runter und du hast eine ausreichende technische definiertion der Schnittstelle. Wenn das WSDL passt, ist alles weitere ein Kinderspiel. Der Aufruf sieht dann aus wie ein lokaler Funktionsaufruf und ist in zwei Zeilen gemacht, ohne auch nur eine Klasse zu implementieren:
$client = new soapclient();
$result = $client->doSendSms($param1, $param2, …);

Das Error-Handling ist auch gleich mit drin.

]]>
Von: Jonas Pasche http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-460 Tue, 24 May 2011 08:45:57 +0000 http://blog.jonaspasche.com/?p=1070#comment-460 Um Himmels willen … Little Bobby Tables lässt grüßen.

Und ich stimme dir zu: Man könnte auch mit SOAP saubere, verlässliche und gut dokumentierte APIs bauen, gar keine Frage. Einige tun das bestimmt auch. Auch wenn mein Rant – der natürlich ohne Frage auch von aktuellem Frust geleitet wurde – das unterschwellig nahelegt: Ich tendiere normalerweise gar nicht so sehr dazu, Dinge aufgrund der Wahl eines bestimmten Protokolls, eines bestimmten Tools oder einer bestimmten Programmiersprache zu verurteilen.

Diese Unterkunftsgeschichte hier ist aber bei weitem nicht die erste SOAP-API, die zu implementieren ich das Vergnügen hatte, und ich kann so langsam nicht mehr abstreiten, dass sich ein gewisses Muster zeigt: Alle waren schlecht designed, alle hatten schlechte Dokumentation und bei allen hatte ich anbieterseitig mit Leuten zu tun, die völlige Ahnungslosigkeit demonstrierten. Ich meine, wenn ich einen SOAP-Fault mit einem 25-zeiligen Java-Stack-Trace bekomme, der mir in keinster Weise sagt, was dem Server nicht gepasst haben könnte, und die Antwort des Dienstleisters ist dann „ähm, hm, ja, also, probieren Sie doch mal, was passiert, wenn Sie \r\n als Zeilenumbrüche übermitteln“ (was dann nebenbei nicht mehr spezifikationskonform wäre), dann frage ich mich schon, ob man auf Basis einer solchen API wirklich ein Geschäftsmodell aufbauen möchte. Kurz gesagt, es entsteht bei mir mehr und mehr der Eindruck, dass die wirklich fähigen Leute tendentiell eben eher zu anderen Protokollen als ausgerechnet zu SOAP greifen.

Ich habe hier inzwischen eine ziemliche Abdeckungsskala, am unteren Ende mit beispielsweise einer kleinen regionalen Agentur (wie hier), in der Mitte zum Beispiel mit einem mittelgroßen Mobilfunkunternehmen, deren MMS-API auf Basis von SOAP/MM7 ich umsetzen durfte (das waren die mit dem „probieren Sie doch mal andere Zeilenumbrüche“) bis hin zu richtigen großen APIs wie zum Beispiel der Bürgerportal-Schnittstelle eines Bundeslands, die von T-Systems entwickelt wurde – bisher mein einziges Projekt, bei dem ich ernsthaft in Betracht ziehe, schlicht zu kapitulieren – vor allem, weil der „Support“ hier nur so funktioniert, dass man sich mit seinen Fragen an den zuständigen Sekretär im Ministerium wenden muss, der das dann so gelegentlich mal an T-Systems weitergibt. Aber das ist eine andere Geschichte.

]]>
Von: Scytale http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-453 Mon, 23 May 2011 22:04:43 +0000 http://blog.jonaspasche.com/?p=1070#comment-453 Fairerweise muss man aber sagen, dass ein Großteil der Probleme, die du beschreibst, nicht auf den Einsatz von SOAP zurückzuführen ist. Und SOAP ist auch nicht immer ein Anzeichen für Inkompetenz. Das Zeug kommt einfach aus der Businesswelt, die aus Java, .Net und XML besteht. Ein Teil der APIs dort ist sehr gut designed und dokumentiert.

Die meisten APIs sind allerdings ziemlicher Murks. Als Webentwickler hab ich tagtäglich mit allen Sorten von APIs zu tun. Auffallend ist dabei vor allem eins: Öffentliche APIs (z.B. von Web-2.0-Sites etc.) sind meist wesentlich besser als geschlossene B2B-Dinger. Das liegt wahrscheinlich daran, dass man bei öffentlichen APIs nen Ruf zu verlieren hat. Proprietäre sieht nur der arme API-Coder, der sich damit rumschlagen muss. Sei froh, dass man keinen NDA abverlangt hat, bevor du die Doku lesen durftest. Alles schon erlebt.

Meine Lieblings-API ist übrigens die, die bei der Übermittlung einer Adresse in Frankreich reproduzierbar eine Tomcat-„Uncaught-Exception“-Seite geschmissen hat. Stellte sich raus, es lag am Singlequote in „Rue d’Alsace“. Was das bedeutet, kannst du dir sicher denken…

]]>
Von: Jonas Pasche http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-452 Mon, 23 May 2011 21:23:19 +0000 http://blog.jonaspasche.com/?p=1070#comment-452 Ich tippe schnell ;-)

]]>
Von: levudev http://blog.jonaspasche.com/2011/05/23/only-use-soap-to-wash-your-hands/comment-page-1/#comment-451 Mon, 23 May 2011 21:10:13 +0000 http://blog.jonaspasche.com/?p=1070#comment-451 omg… Was mich aber überrascht hat ist, dass du nur 15 Stunden insgesamt gebraucht hast :)

]]>