Frage

Ich habe einen WCF -Dienst, der ein Xelement zurückgibt. Dies funktioniert gut, aber ich möchte, dass er die XML -Erklärung in die Antwort einbezieht:

<?xml version="1.0" encoding="utf-8"?>

Die Client -Seite kann nicht ändern und meldet, dass ein "Ergebnis ist nicht XML". Die einzigen anderen Unterschiede zwischen der Antwort meines HTTP -Ergebniss sind der Inhaltstyp meines WCF -Dienstes:

Content-Type: application/xml; charset=utf-8

vs.

Content-Type: text/xml; charset=utf-8

Ich gehe davon aus, dass das "Ergebnis nicht XML" durch die fehlende XML -Erklärung verursacht wird. Wie ist es möglich, die XML -Deklaration zur Xelement -Antwort hinzuzufügen? Ich dachte, eine MessageFormatter könnte dies beheben, aber ich habe keine Ahnung, wo ich anfangen soll.

War es hilfreich?

Lösung

Sehen XDocument -Klassenübersicht Für eine kurze Stichprobe, wie Sie die XML -Deklaration zu Ihrer Ausgabe hinzufügen können.

Obwohl ich @john zustimmen muss, ist es unwahrscheinlich, dass die fehlende XML -Erklärung das Problem ist, es sei denn Text fehlt die XML -Deklaration darf nicht gültig sein. XML.

Wenn der Client ein .NET -Client ist, dann Aktivieren Sie die WCF -Nachrichtenprotokollierung und überprüfen Sie, was der Client erhält. Wenn der Client kein .NET -Client ist, verwenden Sie NetMon oder Wireshark, um den Datenverkehr zu überprüfen, um die Nutzlast zu validieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top