1

XElement を返す WCF サービスがありますが、これは正常に動作していますが、応答に XML 宣言を含めたいと考えています。

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

クライアント側は私が変更できるものではなく、「結果は XML ではありません」と報告しています。私の HTTP 結果の応答の他の唯一の違いは、私の WCF サービスのコンテンツ タイプです。

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

対。

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

「結果はXMLではありません」は、XML宣言の欠落が原因であると思います。XElement 応答に XML 宣言を追加するにはどうすればよいですか? MessageFormatter でこれを修正できると思いましたが、どこから始めればよいかわかりません。

4

1 に答える 1

0

xml 宣言を出力に追加する方法の簡単なサンプルについては、XDocument クラスの概要を参照してください。

私は@Johnに同意する必要がありますが、クライアントがXMLをテキストとして手動で検証していない限り(これは愚かなことですが、私はそれが行われたのを見てきました)、xml宣言の欠落が問題になる可能性は低いです。 xml 宣言が欠落しているテキストは、有効な xml であってはなりません。

クライアントが .NET クライアントの場合は、WCF メッセージ ログを有効にして、クライアントが何を受信して​​いるかを確認します。クライアントが .NET クライアントでない場合は、Netmon または Wireshark を使用してトラフィックを検査し、ペイロードを検証します。

于 2009-08-17T12:50:24.980 に答える