WebAPI ne peut pas analyser la publication multipart / form-data

Je suis en train d'accepter un poste à partir d'un client (iOS) et mon code met en situation d'échec à la lecture du flux. Dit le message n'est pas complète. J'ai essayé de le faire fonctionner pendant des heures, il semble que quelque chose est faux dans mon format de message ou quelque chose. Tout ce que je suis en train de faire est de lire une chaîne de caractères, mais le développeur que je suis en train de travailler avec l'oms est en train de faire l'iOS partie seulement sait comment envoyer multipart/form-data pas content-type json.

Ici est exact de l'erreur:

La fin inattendue de MIME multipart flux. Message MIME multipart n'est pas complète."

Il échoue ici: await Request.Content.ReadAsMultipartAsync(provider);

En-têtes:

POST http://localhost:8603/api/login HTTP/1.1
Host: localhost:8603
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary=------------nx-oauth216807
Content-Length: 364
Accept-Language: en-us
Accept: */*
Connection: keep-alive

Corps:

--------------nx-oauth216807
Content-Disposition: form-data; name="token"

CAAH5su8bZC1IBAC3Qk4aztKzisZCd2Muc3no4BqVUycnZAFSKuleRU7V9uZCbc8DZCedYQTIFKwJbVZCANJCs4ZCZA654PgA22Nei9KiIMLsGbZBaNQugouuLNafNqIOTs9wDvD61ZA6WSTd73AVtFp9tQ1PmFGz601apUGHSimYZCjLfGBo40EBQ5z6eSMNiFeSylym1pK4PCvI17fXCmOcRix4cs96EBl8ZA1opGKVuWizOsS0WZCMiVGvT
--------------nx-oauth216807--

Ici est la WebAPI code:

    public async Task<HttpResponseMessage> PostFormData()
    {
        //Check if the request contains multipart/form-data.
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }
        try
        {
        string root = HttpContext.Current.Server.MapPath("~/App_Data");
        var provider = new MultipartFormDataStreamProvider(root);

        //Read the form data and return an async task.
        await Request.Content.ReadAsMultipartAsync(provider);

        //This illustrates how to get the file names.
        foreach (MultipartFileData file in provider.FileData)
        {
            Trace.WriteLine(file.Headers.ContentDisposition.FileName);
            Trace.WriteLine("Server file path: " + file.LocalFileName);
        }
        return Request.CreateResponse(HttpStatusCode.OK);

        }
        catch (System.Exception e)
        {
            return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
        }
    }

source d'informationauteur Shaw Levin