REST 通知を YAML として ASP.NET アプリに送信する PandaStream を使用しています。私が持っている Web サービスは、コンテンツを XML として解析しようとするため、チョークして 500 を返します。この解析を停止するにはどうすればよいですか? 自分で解析できるように、コンテンツを単なる大きな文字列として取得するにはどうすればよいですか?
[WebMethod]
//HOWTO? suppress XML parsing
public void UpdateStatus()
{
// HOWTO? get content as string
// parse string as YAML
// ...
}
更新: 通常の .aspx ページを使用している場合、生の POST コンテンツを文字列として取得するにはどうすればよいですか?
更新 2: テキストを取得できます:
Stream s = Request.InputStream;
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
String content = bytesToString(buffer);
…が、ぐちゃぐちゃになる。yaml の開始行は次のとおりです。
---
:video:
:thumbnail: bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg
:duration: 15900
...などですが、私の文字列では次のようになります。
video=---%20%0a%3avideo%3a%20%0a%20%20%3athumbnail%3a%20bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg%0a%20%20%3aduration%3a%2015900
生のものだけが欲しいのに、ASPがPOST本体を「パラメータ化」しているようです。これはMIMEタイプと関係がありますか?