Alternative zu suds

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Hallo Zusammen,

ich hab jetzt endgültig die Schnauze voll von Suds...! *auskotz*
Andauernd muss ich irgendwas fixen und am Client ändern damit Suds vernünftig mit SOAP arbeitet.
Und zudem ist es elendig langsam... es braucht bis zu 7 Sekunden um ein popeliges PDF File zu übertragen von einer VM auf den HOST.
Deswegen suche ich jetzt endgültig eine Alternative zum Suds Client die auch SOAP beherrscht!

Und nein, SOAPpy ist auch keine brauchabre alternative.
Ich will ja nicht ausschließen, dass der SOAP Server unsauber programmiert ist, aber darauf hab ich leider keinen Einfluss dank Zend Guard. :evil:

Vielleicht hat ja jemand von euch eine Idee für einen besseren SOAP Client.

Gruß
Damaskus
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

HTTP
SNCR :)
deets

Willkommen in der wunderbaren Welt von SOAP! Das S steht fuer "simpel"!

Wenn du kannst, stell um auf ein alternatives HTTP-basiertes Protokoll. XMLRPC, oder JSONRPC, oder REST.

Wenn nicht, dann versuch dir einen Client zu besorgen, der funktioniert. Es sollte bei einem PHP-SOAP-Server ja auch einen PHP-Client geben, und mit dem solltest du dann requests vernuenftig ausfuehren koennen.

Wenn das geht, dann schaltest du einen Proxy dazwischen, und schneidest das XML fuer die entsprechenden Aufrufe einfach mit. Dann nimmst du das, und machst daraus zB ein Genshi-Template (oder eine andere Template-Engine deiner Wahl, die vll. schneller ist).

Und baust jeden Call basierend auf dem mitgeschnittenen nach.

Hoert sich krank an? Ja. Aber ist manchmal wirklich der einzige Weg. Wir betreiben so eine .NET-Schnittstelle.

Und zum Abschluss noch was erheiterndes:

http://wanderingbarque.com/nonintersect ... or-simple/
lunar

@Damaskus: Vielleicht hilft die entsprechende Frage auf StackOverflow. Zumindest lässt sich daraus eine Liste der existierenden Bibliotheken entnehmen, die allerdings allesamt für mehr oder weniger unbrauchbar befunden werden. "suds" wird dabei allerdings noch für die am wenigsten unbrauchbare Bibliothek gehalten.

SOAPpy ist ungeachtet dessen vielleicht trotzdem noch einen Blick wert. Es hat zumindest den Anschein, als würde sie mittlerweile wieder gewartet.

Ansonsten kann man nur dazu raten, die Angelegenheit zum Anlass zu nehmen, auf eine moderne RPC-Schnittstelle hinzuarbeiten.
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Danke für die Hinweise und Gedanken von euch,
aber leider kann ich nicht auf RPC oder von mir aus auch XML wechseln.
Es muss SOAP sein... was anderes wird als Schnittstelle nicht angeboten.

Der Gedanke mit dem PHP-Proxy ist nicht schlecht aber ehrlich gesagt ist es mir zu viel Aufwand.
Da kann ich mich auch gleich an den suds Client setzen und ihn fixen...

Diesmal muss ich mich auch bei suds entschuldigen, ich hab inwzischen den "aktuellen" Fehler gefunden.
Ich sag nur "Wer lesen kann ist klar im Vorteil"... denn wenn man die Fehlermeldung aufmerksam und mit klarem Kopf liest

Code: Alles auswählen

Type not found: '(boolen, http://www.w3.org/2001/XMLSchema, )'
fällt einem auf, dass diesmal nicht der Client sondern der Server den Mist baut.

So und jetzt steh ich wieder an dem Problem mit dem Zend Guard der den PHP Code des Servers verschlüsselt... :evil:

Gruß
Damaskus
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Kannst du nicht vielleicht dem Client beibringen, das "boolen" ein Alias für "boolean" sein soll? Das ist vielleicht einfacher als PHP zu reverse-engineeren.

Stefan
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

sma hat geschrieben:Kannst du nicht vielleicht dem Client beibringen, das "boolen" ein Alias für "boolean" sein soll? Das ist vielleicht einfacher als PHP zu reverse-engineeren.
Bin schon dabei, aber gleichzeitig hab ich noch dem Maintainer des Servers einen Bug-Report geschrieben.
Ich hoffe mal die reagieren recht schnell...

Der Bug zieht sich über x Funktionen die alle als Return Wert einen Boolean Datentyp ausliefern.
Klar, dass es bei den Release-Tests nie aufgefallen ist, PHP prüft die Typen nicht sondern gibt das Ergebniss ungeprüft zurück (korrigiert mich bitte falls ich falsch liege).

Gruß
Damaskus
Antworten