Inserimento di un JSONArray al servizio WCF da android

Ho difficoltà a submit un JSONArray di valori al mio servizio WCF. Quando invio i dati da Fiddler o da .Net Test Client funziona bene. Ogni volta che cerco di postare dalla mia applicazione android ottengo Request Error

Questo è il dato JSON che invio al mio servizio WCF dall'applicazione android. Ho provato questi dati esatti da Fiddler e funziona

  • Android: la notifica persiste durante il riavvio del telefono
  • Imposta valore del filatore da Array in strings.xml
  • Qual è la valorizzazione di AppCompatActivity su ActionBarActivity?
  • Come utilizzare icone e simboli da "Font Awesome" sull'applicazione Android nativa
  • Programmaticamente chiara la cache di PhoneGap / Cordova app su Android per simulare una nuova installazione?
  • Gradle costruisce molto lento con una struttura multiprogetti
  • [{"date":"2013-02-22 15:30:374:021","id":"1","description":"test","name":"test"}, "date":"2013-02-25 11:56:926:020","id":"2","description":"ghy","name":"fhh"}, "date":"2013-02-25 11:56:248:026","id":"3","description":"ghfm","name":"run"}] 

    Il mio codice android

     public JSONObject makeHttpPost(String url, String method, JSONArray params) { try { if (method == "POST") { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Content-Type", "application/json; charset=utf-8"); StringEntity se = new StringEntity(params.toString(),"UTF-8"); se.setContentType("application/json;charset=UTF-8"); httpPost.setEntity(se); Log.e("Gerhard", params.toString()); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } 

    Il mio servizio WCF

     [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, UriTemplate = "updateOrderAddress")] String UpdateOrderAddress(Stream JSONdataStream); public String UpdateOrderAddress(Stream JSONdataStream) { try { // Read in our Stream into a string... StreamReader reader = new StreamReader(JSONdataStream); string JSONdata = reader.ReadToEnd(); // ..then convert the string into a single "wsOrder" record. if (JSONdata == null) { // Error: Couldn't deserialize our JSON string into a "wsOrder" object. return "null"; } return JSONdata; // Success ! } catch (Exception e) { return e.ToString(); } } 

    L'errore che sto ottenendo

     02-26 14:00:56.185: E/Gerhard(31064): <p>The server encountered an error processing the request. The exception message is 'Incoming message for operation 'UpdateOrderAddress' (contract 'IService1' with namespace 'http://tempuri.org/') contains an unreceachzed http body format value 'Json'. The expected body format value is 'Raw'. This can be because a WebContentTypeMapper has not been configured on the binding. See the documentation of WebContentTypeMapper for more details.'. See server logs for more details. The exception stack trace is: </p> 

    Ho chiamato più richieste GET dall'applicazione android allo stesso WCF Service e funziona ottimamente, ma ora devo submit una matrix di dati al servizio wcf. Per favore prego per aiutarti. Grazie in anticipo

  • Punto galleggiante con 2 cifre dopo punto
  • come call Una class di attività da una class noraml java in Android
  • (Android) Prendi il primo giorno della settimana
  • Ottenere i dettagli del certificato da un apk
  • Android: Creazione di un TextView circolare?
  • Galleria fullscreen di Android Gallery
  • One Solution collect form web for “Inserimento di un JSONArray al servizio WCF da android”

    rimuovere

     httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Content-Type", "application/json; charset=utf-8"); 

    dal codice ur

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.