Error de Android: MultipartEntity, la solicitud enviada por el cliente fue sintácticamente incorrecta

Supongo que para enviar el archivo de canción (mp3 / wav) y algunos datos a través de un servicio web seguro y relajante. Estoy utilizando MultipartEntity para hacer HttpPost solicitud. Pero cuando lo ejecuto a través de HttpClient, el servidor responde este error

Estado HTTP 400 – Tipo de solicitud incorrecta: Mensaje de informe de estado: Solicitud incorrecta La solicitud enviada por el cliente fue incorrectamente sintáctica (Solicitud incorrecta).

Pero el servicio lo está haciendo muy bien si lo llamamos desde su interfaz web. por favor ayuda

Es el código

HttpClient httpclient = new DefaultHttpClient(); HttpPost postRequest = new HttpPost(); try { MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("email", new StringBody("test@testmail.com")); reqEntity.addPart("password", new StringBody("123")); reqEntity.addPart("title", new StringBody("My new song")); reqEntity.addPart("musicData", new FileBody(new File(FilePath))); // FIlePath is path to file and contains correct file location postRequest.setEntity(reqEntity); postRequest.setURI(new URI(ServiceURL)); HttpResponse response = httpclient.execute(postRequest); } catch (URISyntaxException e) { Log.e("URISyntaxException", e.toString()); } 

También incluí apache-mime4j, httpclient, httpcore y jarras httpmime para MultipartEntity.

Este es un complemento de página HTML para el servicio. Introduzca aquí la descripción de la imagen

    3 Solutions collect form web for “Error de Android: MultipartEntity, la solicitud enviada por el cliente fue sintácticamente incorrecta”

    Intente eliminar el método setURI y pasar la URL al crear el objeto HttpPost, como se indica a continuación. Esto funcionó para mí ( más aquí ).

     HttpClient httpclient = new DefaultHttpClient(); HttpPost postRequest = new HttpPost(ServiceURL); try { MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("email", new StringBody("test@testmail.com")); reqEntity.addPart("password", new StringBody("123")); reqEntity.addPart("title", new StringBody("My new song")); reqEntity.addPart("musicData", new FileBody(new File(FilePath))); postRequest.setEntity(reqEntity); HttpResponse response = httpclient.execute(postRequest); } catch (URISyntaxException e) { Log.e("URISyntaxException", e.toString()); } 

    Parece encabezado de la solicitud es incorrecta, este problema puede ocurrir si utiliza un protocolo Auth distinto o mayúsculas / minúsculas o simplemente cosas incorrectas en la cabecera que el lado del servidor no puede manejar.

    No pierda su tiempo al intentar diferentes combinaciones diferentes. Hay algunas herramientas de solicitud HTTP disponibles para HTTP con las que puede realizar un seguimiento de la solicitud y la respuesta que está recibiendo. HTTP Analyzer descargar versión de prueba

    Llame a la URL desde su interfaz web de trabajo, la solicitud de copia y la respuesta a continuación, hacer lo mismo con el programa de la herramienta es enogh capaces de capturar sus datos de solicitud y respuesta.

    Ahora compare el trabajo y la petición que no trabaja usted seguramente capaz de dignose la edición si puede ser problema del jefe o algún problema relacionado autentificación.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.