Entwickler-Ecke
Internet / Netzwerk - SOAP: Wie kann ich mir den XML-Stream anzeigen?
mantao.russ - Mi 21.02.07 13:33
Titel: SOAP: Wie kann ich mir den XML-Stream anzeigen?
Hallo,
leider habe ich noch nicht so viele Erfahrungen mit Webservices. Ich versuche eine komplexere Struktur (mehere Arrays) als Parameter des Webservices zu verschicken. Auf der Serverseite kommen jedoch nicht die Daten an. Es kommt nur:
<IM_TRIM_DATA xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="NS2:ZGS_TS[1]">
<item href="#1" />
</IM_TRIM_DATA>
Kann man auf der Clientseite sehen wie der komplete XML-Stream aussieht? Gibt es zu der THTTPRIO-Komponente eine entspechende Funktion/Eigenschaft (habe leider nicht gefunden)?
Danke für eine Antwort.
BenBE - Mi 21.02.07 21:38
2 Dinge erstmal so:
Du kannst mit Netzwerk-Programmen wie Wireshark (ehemals Ethereal) den Netzwerk-Verkehr aufzeichnen ... Damit erhälst Du u.a. auch den XML-Stream als Text.
Ansonsten wäre ein Ausschnitt des Client-Sources zum Aufbau der Struktur interessant, denn ich vermute mal, dass da irgendwas fehlt oder schiefläuft.
MfG,
BenBE.
mantao.russ - Do 22.02.07 09:57
Danke für die Antwort!
Ich war vielleicht ein bißchen knapp mit dem Code.
Beim Aufruf des Webservice (über die Komponente THTTPRIO) übergebe ich ein
array of ZGS_TS.
ZGS_TS ist eine geerbte Klasse von TRemotable.
Beim Aufruf des Webservice gehe ich viel folgt vor:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| ServiceAdapter := THTTPRIO.Create( nil ); ServiceAdapter.URL := defURL; ServiceAdapter.Converter.Options := [ soSendUntyped, soSendMultiRefArray, soTryAllSchema, soRootRefNodesToBody, soUTF8InHeader, soCacheMimeResponse, soUTF8EncodeXML ]; sevice := ServiceAdapter as Z_TRIM_INBOUND;
sevice.Z_TRIM_INBOUND( EX_TRIM_DATA ); |
Jetzt würde ich mir gerne vor dem Aufruf von "sevice.Z_TRIM_INBOUND( EX_TRIM_DATA )" den gesamten XML-Stream ansehen. Habe aber noch keine Lösung gefunden?
Moderiert von
UGrohne: Delphi-Tags hinzugefügt
BenBE - Do 22.02.07 21:13
Ich denke, dir könnte u.U. folgender Link einige Anregungen geben, da er in etwa das abdeckt, was Du auch vor hast:
http://www.drbob42.com/kylix/BizSnap0.htm
Der Link ist zwar für Kylix geschrieben, sollte aber ähnlich (wenn nicht sogar gleich) auch für Windows\Delphi funktionieren. Ansonsten solltest Du (wenn möglich) mal einen Blick in die Sources der THTTPRIO-Komponente werfen - das ist auch meist relativ ergiebig ...
mantao.russ - Fr 23.02.07 15:57
Ich habe die Übertragung mit Ethereal mitgeschnitten und bin dadurch an meine Informationen gekommen.
Danke nocheinmal für den Tipp.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!