私は現在、.NET で開発されておらず、C# データ コントラクトにアクセスできないシステムからアクセスされると予想される REST バインディングを使用する WCF サービスに取り組んでいます。その結果、呼び出し元が SerializationException を引き起こす有効な XML を作成する可能性は十分にあります。たとえば、整数または日付フィールドは、空白のままにするか、null (i:nil="true") に設定することができます。
XML のどの部分をデシリアライズできなかったのかを正確に伝える、追加のコンテキストを含むエラー メッセージをユーザーに返せるようにしたいと考えています。これを行うためのきれいな方法はありますか?残念ながら、SerializationException 自体はコンテキストをまったく提供しません。私が考えることができるのは、逆シリアル化を試みる前に、データ コンタクトからスキーマを抽出し、スキーマを使用して着信 XML を検証することだけです。これには、カスタムのシリアル化を実装する必要があります。より良い方法はありますか?
スキーマ アプローチの明らかな注意点は、JSON が除外されていることです。