Frage

Ich verwende PandaStream, die eine REST-Benachrichtigung als YAML für unsere ASP.NET App sendet. Der Web-Dienst Ich habe würgt und gibt 500, weil sie den Inhalt als XML zu analysieren versucht. Wie kann ich diese Analyse stoppen? Wie kann ich den Inhalt als nur eine große Reihe bekommen, so kann ich es selbst analysieren?

[WebMethod]
//HOWTO? suppress XML parsing
public void UpdateStatus()
{
    // HOWTO? get content as string
    // parse string as YAML
    // ...
}

UPDATE: OK, wenn ich eine normale ASPX-Seite verwenden, wie bekomme ich den rohen POST Inhalt als String

UPDATE 2: Ich kann den Text erhalten:

Stream s = Request.InputStream;
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
String content = bytesToString(buffer);

... aber es wird vermasselt. Die ersten Zeilen des yaml sind:

--- 
:video: 
  :thumbnail: bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg
  :duration: 15900

... und so weiter, aber in meinem String dies zu:

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

Es scheint, ASP ist „Parametrieren“ der POST Körper, wenn ich will nur das rohe Zeug. Ist das etwas, mit dem MIME-Typ zu tun?

War es hilfreich?

Lösung

ASMX Web Service kann nur Prozess SOAP auf Eingabe. Wenn Sie ein anderes Format lesen müssen, dann müssen Sie nicht einen ASMX-Webdienst werden.

Nur eine normale Seite verwenden oder eine Httphandler und Ihre eigene Analyse tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top