Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4023
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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