PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XML - 2 Namespaces, davon 1 default



ThorstenHirsch
25-01-2007, 16:35
Servus!

Gibt es XML-technisch für den Parser einen Unterschied zwischen folgenden 2 XML-Dateien?

<?xml version="1.0" encoding="ISO-8859-1"?>
<soap:Envelope xmlns="hans" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Fred/>
</soap:Body>
</soap:Envelope>


<?xml version="1.0" encoding="ISO-8859-1"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Fred xmlns="hans"/>
</soap:Body>
</soap:Envelope>

IMHO gibt es keinen Unterschied - der Umschlag ist soap und alles was unterhalb von <soap:Body> ist, gehört zum Namespace "hans". Aber die erste Nachricht will dieser blöde Webservice nicht annehmen und ich frage mich warum.

foobarflu
26-01-2007, 14:39
Gibt es XML-technisch für den Parser einen Unterschied zwischen folgenden 2 XML-Dateien? [...]
IMHO gibt es keinen Unterschied - der Umschlag ist soap und alles was unterhalb von <soap:Body> ist, gehört zum Namespace "hans". Aber die erste Nachricht will dieser blöde Webservice nicht annehmen und ich frage mich warum.
WENN der parser namespaces richtig implementiert und wenn der Applikationsprogrammierer des Webservice dem Parser gesagt hat, er möge bitte namespace-support anmachen, gibt es keinen Unterschied.

ThorstenHirsch
29-01-2007, 16:08
Scheint nicht der Fall zu sein. Ist ein MS IIS und es hat nur mit der 2. Variante funktioniert. Außerdem akzeptiert er kein ISO-8859-15 sondern nur ISO-8858-1.

TheHawk
29-01-2007, 19:03
Gäb ja auch noch eine dritte Variante. Probier diese mal aus.


<?xml version="1.0" encoding="ISO-8859-1"?>
<soap:Envelope xmlns:manfred="hans" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<manfred:Fred/>
</soap:Body>
</soap:Envelope>

ThorstenHirsch
30-01-2007, 16:42
Klappt leider auch nicht. Ich hab's mal noch ein kleines bisschen anders ausprobiert, aber das will er auch nicht:

<?xml version="1.0" encoding="ISO-8859-1"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<manfred:Fred xmlns:manfred="hans"/>
</soap:Body>
</soap:Envelope>
So hatte ich's nämlich woanders gesehen. Aber so langsam vermute ich, dass ich ein ganz anderes Problem mit dem webservice habe.

ThorstenHirsch
31-01-2007, 16:24
Ich hab's jetzt in nem <![CDATA[ ... ]]> durch den IIS geschleust. Hintendran stehen glücklicherweise intelligentere Systeme. :)