Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

WSDL: Session-ID mit PHP nutzen?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Business-Experte
PostRank 8
PostRank 8
Beiträge: 794
Registriert: 05.02.2009, 17:05

Beitrag von Business-Experte » 22.11.2012, 19:14

Ich werde PHP in der Sache knicken. Da ist der Wurm drin.
Ich mach das jetzt mit JAVA...

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 22.11.2012, 22:24

Mit Java ist es wohl nicht die schlechteste Wahl, da hatte ich auch einige Tutorials gefunden. Werde aber noch einiges testen. Hatte gestern versucht einen Soap Header zu senden, bei der client.php ging es gut, nur meine um einen Header ergänzte datei.wsdl wollte nicht so richtig und ob es mit der server.php funktioniert hätte, weiß ich noch nicht so genau, da die Rückgabe bei null war.

Heute habe ich erst einmal ein kleines aber feines Tool gefunden, zum Generieren von WSDL Dateien. Nur eine Datei, braucht auch nicht installiert zu werden. Hätte nur die Wiki lesen sollen, dann hätte ich keine 3 Stunden gebraucht um festzustellen, dass die Kommentare (was ich für Kommentare hielt) keine Kommentare sind, sondern die erforderlichen Typangaben enthalten.

https://code.google.com/p/wsdldocument/

Nun habe ich nur noch nicht herausgefunden, wie ich mit dem Ding Funktionen für Seop Header einfügen kann. Schätze, einige Wochen dürfte es noch dauern, ehe der Durchblick kommt.

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 24.11.2012, 17:26

Noch mal ein Nachtrag, weil gestern das erste veraltete Buch eintraf. Bei php.net/manual werden, wie es ausschaut, nur die Funktionen und Methoden beschrieben, mit denen ein Zugriff auf die PHP-SOAP Extension ermöglich wird, nicht aber die Funktionen und Methoden, mit denen auf PEAR-SOAP zugegriffen werden kann. Diese werden dafür in den der Bibliothek beiliegenden Beispiel-Dateien von PEAR-SOAP verwendet, nur bei meiner lagen leider keine bei. Mal eine exampleclient.php:

https://pear.php.net/package/SOAP/docs/ ... t.php.html

Habe die neue Version nur unter htdocs abgelegt, dachte wenn ich die Pfade anpasse, dann sollte es genügen, weil das auch mit fpdf für den Zugriff genügte, doch immer noch Fehlermitteilungen, nur dieses Mal nicht mehr von SOAP sondern deprecated in \php\PEAR\HTTP\Request.php. Nun finde ich nur keine vernünftige Anleitung, wie man nur PEAR upgraden könnte, ohne Xampp neu aufzusetzen. Mit dem Installer von PEAR komme ich bisher zumindest noch nicht klar.

Edit: Scheint geklappt zu haben, habe noch eine Anleitung für Upgrading PEAR gefunden. Kamen zwar auch jede Menge Warnungen und zum Schluss ein failed, dennoch wurden sehr viele Dateien erneuert und mir kommt es so vor, als hätten die sich vermehrt. In der SOAP Base steht nun nicht mehr PEAR-SOAP 0.12.0-beta sondern nur noch @version@-beta (möglicherweise um wegen der 13 niemanden zu verschrecken, der gehe ich ja auch meistens aus dem Wege), somit wurden die schon irgendwie überschrieben, nur mit den bisherigen Fehlermitteilungen scheint das wenig zu tun zu haben. Wird wohl noch andere Gründe geben.

Die verwendeten Zeiger =& und &new werden bemängelt, weil die wohl nicht mehr auf Objekte verweisen dürfen, es liegen neben den alten neue Dateien in den Bibliotheken, doch die Pfade verweisen noch auf die alten Dateien.

https://pear.php.net/package/HTTP_Request/

Könnte sicherlich alles angepasst. Einfacher handhabt sich NuSoap, da die Bibliothek übersichtlich ist, einfach nur in ein Verzeichnis abgelegt wird und ein Verzeichnis mit rund 20 fertigen Beispielen anbei liegt:

https://www.youtube.com/watch?v=Fz-wRR8DGUA

Zur Eingangsfrage, die Session-ID vom Server wird in den Beispielen vom Buch "Web Services mit PHP" mit getTicket (selbst definierte) zurück an den Server gegeben. In einem Beispiel aus dem Web sieht das so aus:

Code: Alles auswählen

$Binding = new SoapClient($conf->wsdl2, array('trace' => 1));
$header = array('tick'=>$UPS_TICKET);
$Header = new SoapHeader(WSDL, 'getTicket', $header);
$Binding->__setSoapHeaders(array($Header));?>
https://bugs.php.net/bug.php?id=51754

Noch ein anders Beispiel, zwar ohne WSDL, doch das Prinzip bleibt ja in etwa:
# ... The function returns the Ticket ID.
Create a ticket

Hatte schon öfters in den letzten Tagen etwas von Ticket gelesen, nur nicht Ticket mit der Rückgabe einer Session-ID verbunden.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag