Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4023

Re: SoapHeader -> Ansicht als XML

From Ralph Stahl <post@rstahl.de>
Newsgroups de.comp.lang.php
Subject Re: SoapHeader -> Ansicht als XML
Date 2017-01-21 12:53 +0100
Organization albasani.net
Message-ID <o5vi41$vaa$1@news.albasani.net> (permalink)
References <o5t6gv$q2o$1@news.albasani.net> <2297003.7s5MMGUR32@PointedEars.de>

Show all headers | View raw


Thomas 'PointedEars' Lahn schrieb:
> Ralph Stahl wrote:
> 
>> Ich bin am Einarbeiten in die Entwicklung eines SOAP-Clients, bei
>> dem die Headerstruktur für SoapClient() vom Auftraggeber natürlich 
>> vorgegeben ist.
> 
> Ich dachte, SOAP sei seit über einem Jahrzehnt tot.  Heutzutage
> benutzt Mann[tm] doch für Webservices eher REST mit XML, JSON, CSON
> oder YAML als Datenformat.

Es handelt sich um eine im Grunde uralte Anwendung im Auftrag eines
großen deutschen Automobilclubs ;-), die sich im Kern wohl wenig
verändert hat und deren Doku recht lückenhaft ist. Support gibt es quasi
keinen, deswegen kann ich mich nur an die Allgemeinheit wenden :-(.

>> Ich beziehe mich zunächst mal auf die User-Kommentare in
>> 
>> http://php.net/manual/en/class.soapheader.php
>> 
>> Wie kann ich denn das erzeugt $header-Objekt (Kommentar 7, 9)
> 
> Das sind _nicht_ die Nummern der Kommentare, sondern ihre
> *Bewertungen*, die sich jederzeit ändern können :)
> 
> Um einen Kommentar im Handbuch zu referenzieren, am besten dessen URI
>  verwenden (der Name/die maskierte E-Mail-Adresse des Autors ist –
> leider nicht benutzerfreundlich gekennzeichnet – verlinkt):
> 
> <http://php.net/manual/en/class.soapheader.php#117594> 
> <http://php.net/manual/en/class.soapheader.php#107889>

Danke, das ist mir noch gar nicht aufgefallen :-)

>> als XML darstellen, um es zu kontrollieren und mit den Vorgaben zu 
>> vergleichen? Stelle ich es mit print_r() dar, sehe ich es wie ein
>> Array, also ohne die Namespaces und so. Helft mir doch bitte mal
>> auf die Sprünge!
> 
> Da SoapHeader-Instanzen keine passende Methode haben – das kann man 
> unabhängig von der Dokumentation mit
> 
> var_dump((new ReflectionClass($header))->getMethods());
> 
> herausfinden – und wenn auch SoapClient-Instanzen keine Möglichkeit
> bieten, bleibt Dir wohl nur, einen SOAP-Request abzusetzen und zu
> gucken, was beim Server ankommt.

Das kann ich also lokal wie im Folgenden beschrieben machen? Interessant.

> Ich mache sowas bei Quickhacks gern mit der Netzkatze™ (netcat)
> nc(1). Also zum Beispiel im einen screen(1)-Fenster
> 
> nc -lp 1337
> 
> um lokal auf Port *1337* (natürlich!) zu lauschen, und im anderen
> 
> php -r " \$client = new SoapClient(null, [ 'location' =>
> 'http://localhost:1337/', 'uri' => 'http://localhost/', 'trace' =>
> TRUE ]); \$auth = array( 'UserName' => 'USERNAME', 'Password' =>
> 'PASSWORD', 'SystemId' => array('_' => 'DATA', 'Param' => 'PARAM'), 
> ); \$header = new SoapHeader('NAMESPACE', 'Auth', \$auth, false); 
> var_dump(\$header); var_dump((new
> ReflectionClass(\$header))->getMethods()); 
> \$client->__setSoapHeaders(\$header); \$client->soapCall('baz', []); 
> var_dump(\$client->getLastRequestHeaders()); "
> 
> ausführen [“\$x”: im Beispiel wurden “'” als String-Begrenzer
> verwendet, und ich wollte die erst nicht alle ändern müssen; “null”:
> ich hatte gerade kein WSDL-Dokument zur Hand].

Klingt interssant. Recht aufwändig, aber wenn das die einzige
Möglichkeit ist... Ich probiere das mal, danke!

> Die Ausgabe könntest Du dann in ein XML-Dokument speichern und dieses
> zum Beispiel mit einem XML-fähigen Web-Browser anzeigen, um sie
> einfacher lesen zu können (BTDT mit Chromium 53.0.2785.143 unter
> Debian/Devuan GNU/Linux amd64).

Oder einfach mit Firefox, den ich üblicherweise nutze.

> Dann gibt es noch Netzwerkmonitoring-Tools wie Wireshark und ein 
> äquivalentes Windoze-only-Programm, dessen Name mir meist (so auch
> jetzt) nicht einfällt, weil ich es viel zu selten benutze.

Das habe ich vor Jahren mal probehalber angefasst und gleich wieder
weggelegt - ich habs schlicht nicht verstanden, bin ja nicht so der
Netzzwerg.

>> BTW: Trotz trace = 1 in SoapClient() liefert mir
>> getLastRequestHeaders() gar nichts. Muss da selbst bei der ersten
>> Kontaktaufnahme mit dem Server schon was kommen?
> 
> Vermutlich erst, wenn der Server geantwortet hat.  Bei mir liefert 
> SoapClient::getLastRequestHeaders() *so* auch nichts.

Das ist beruhigend.

>> Ich wäre sehr dankbar für helfende Hinweise, selbst den, dass ich 
>> einfach nur lesen muss :-).
> 
> RTFM ;-)

Was sonst? Danke erstmal!

Ralph

Back to de.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-20 15:23 +0100
  Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-20 18:12 +0100
    Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-20 18:26 +0100
      Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-21 12:55 +0100
    Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-21 12:53 +0100
      Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-21 13:53 +0100
        Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-21 18:32 +0100
          Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-21 18:40 +0100
    Re: SoapHeader -> Ansicht als XML Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2017-01-21 14:57 +0000
      Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-21 18:30 +0100
        Re: SoapHeader -> Ansicht als XML Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2017-01-21 17:44 +0000
        Re: SoapHeader -> Ansicht als XML k@rl.pflaesterer.de (Karl Pflästerer) - 2017-01-23 08:58 +0100
          Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-23 17:31 +0100
        Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-23 20:22 +0100
          Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-26 19:44 +0100
            Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-26 23:46 +0100
              Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-01-27 10:21 +0100
                Re: SoapHeader -> Ansicht als XML Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-27 12:21 +0100
  Re: SoapHeader -> Ansicht als XML Ralph Stahl <post@rstahl.de> - 2017-04-06 12:24 +0200

csiph-web