0

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タイプと関係がありますか?

4

1 に答える 1

1

ASMX Web サービスは、入力時に SOAP のみを処理できます。他の形式を読み取る必要がある場合は、ASMX Web サービスを使用する必要はありません。

通常のページまたは HttpHandler を使用して、独自の解析を行うだけです。

于 2009-10-26T01:15:23.203 に答える