Domanda

Ho un servizio WCF che restituisce un XElement, questo sta lavorando bene però vorrei per includere la dichiarazione XML nella risposta:

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

Il lato client non è qualcosa che posso cambiare e sta riportando un "risultato non è XML" Le uniche altre differenze tra la risposta del mio risultato HTTP è il tipo di contenuto del mio servizio WCF:

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

vs.

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

Suppongo che il "risultato non è XML" è causato dalla dichiarazione XML mancante. Come è possibile aggiungere la dichiarazione XML alla risposta XElement? Ho pensato che un MessageFormatter potrebbe essere in grado risolvere questo problema, ma non ho idea da dove cominciare.

È stato utile?

Soluzione

XDocument Classe Panoramica per un rapido esempio di come aggiungere la dichiarazione XML per l'output.

Anche se sono d'accordo con @ John, sua improbabile la dichiarazione XML manca è il problema a meno che il cliente sta convalidando manualmente il codice XML come testo (che sarebbe una cosa sciocca da fare, ma ho visto fare) ed è partendo dal presupposto che qualsiasi testo manca la dichiarazione XML non deve essere XML valido.

Se il client è un client .NET, quindi consentire messaggio WCF la registrazione e verificare ciò che il cliente sta ricevendo. Se il cliente non è un client .NET, quindi utilizzare Netmon o Wireshark per ispezionare il traffico di convalidare payload.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top