2016-11-22 25 views
1

[FromBody]を使用して要求ボディを読み取るエンドポイントが指定されていますが、フィールドの1つにアンパサンド(&)が含まれている場合、問題のクライアントはXMLをエンドポイントに渡しています。Web Api 2 - 変数がアンパサンドを含むとき、FromBodyオブジェクトは常にnullです

<memo>My name is Adam & I live in England</memo> 

戻り値は

012をゼロ:例えば

public IHttpActionResult CreateStage([FromBody] JobStageWrapper stage) 

JobStageWrapperオブジェクト

public class JobStageWrapper 
{ 
    public JobStage job { get; set; } 
} 

Stageオブジェクトだから、

public class JobStage 
    { 
     public string jobno { get; set; } 
     // Job Stage 
     public string jobStage { get; set; } 
     // Stage Date 
     public DateTime StageDate { get; set; } 
     public string Memo { get; set; } 
    } 

<memo>My name is Adam and I live in England</memo> 

は、オブジェクトが常に完全に取り込まれるように、私はこれらの特殊文字を置き換えるために、リクエストボディを傍受することができます方法はあり移入されたオブジェクト

返しますか?

ありがとうございます!
アダム

答えて

1

...分野の一つは、アンパサンド(&)が含まれています。問題のクライアントはXMLをエンドポイントに渡しています。

クライアントは、xmlがエスケープされていることを確認する必要があります。中の特殊文字のリストについて>Predefined entities in XMLセクション - アンパサンドは、これは有効なXML要素

<memo>My name is Adam & I live in England</memo> 

はありませんが、これは

<memo>My name is Adam &amp; I live in England</memo> 

List of XML and HTML character entity referencesを参照してくださいある&amp;

として渡す必要がありますXMLをエスケープする必要があります。

またはここでは、この先の回答のコピーがSO What characters do I need to escape in XML documents?です。

" &quot; 
' &apos; 
< &lt; 
> &gt; 
& &amp; 
+0

本当に有益な情報へのリンクがあります。すべてがクライアントで解決されました。 –

関連する問題