Question

J'utilise PandaStream, qui envoie une notification REST en tant que YAML à notre application ASP.NET. Le service Web que je possède et étouffe et renvoie 500 car il tente d'analyser le contenu au format XML. Comment puis-je arrêter cette analyse? Comment puis-je obtenir le contenu simplement comme une grosse chaîne afin de pouvoir l'analyser moi-même?

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

UPDATE: OK, si j'utilise une page .aspx normale, comment puis-je obtenir le contenu brut de POST sous forme de chaîne?

UPDATE 2: Je peux obtenir le texte:

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

... mais ça se casse. Les premières lignes du yaml sont les suivantes:

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

... et ainsi de suite, mais dans ma chaîne, cela devient:

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

Il semble que l'ASP soit "paramétrable". le corps POST quand je veux juste le truc brut. Est-ce quelque chose à voir avec le type mime?

Était-ce utile?

La solution

Les services Web ASMX ne peuvent traiter SOAP qu'en entrée. Si vous devez lire un autre format, vous ne devez pas utiliser de service Web ASMX.

Utilisez simplement une page normale ou un gestionnaire HttpHandler et effectuez votre propre analyse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top