RESTful アプローチを使用して Web サービスを構築しており、WCF WebHttp API (.NET v4) を使用しています。一部のレガシー機能を満たすには、POST を介して生の XML メッセージを受け入れて処理する必要があります。たとえば、私のメソッドの 1 つは次のようになります。
[WebInvoke(UriTemplate = "Hello", Method = "POST")]
public Message ProcessMessage(string xmlMessage)
{
if (String.IsNullOrWhiteSpace(xmlMessage))
{
return WebOperationContext.Current.CreateXmlResponse(ProcessingFailedReply);
}
var message = XElement.Parse(xmlMessage);
return WebOperationContext.Current.CreateXmlResponse(ProcessingSuccessfullReply);
}
ただし、xml を「/Hello」に POST しようとするたびに、形式が無効であり、具体的にエンコードされた文字列が必要であるというメッセージが表示されます。API は標準スキーマを使用して自動的に xmlMessage をシリアライズしていると思います。ヘルプ (「/help」) にアクセスすると、xmlMessage のサンプル形式が表示されます。
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">String content</string>
このシナリオで、POST されたリクエストを raw として許可して処理するにはどうすればよいですか? API を調べたところ、関連する唯一のクラス ( WebOperationContext.Current.IncommingRequest ) には生のメッセージを取得するメソッドがありません...
ありがとうZ...