2016-07-21 35 views
0

Ich wollte die XML-Entität im Körper der HTTP Put-Methode übergeben. Ich habe den Code unten,Holen Sie die XML-Entität in Körper übergeben - HTTP-Put-Methode in Android

DefaultHttpServerConnection conn = new DefaultHttpServerConnection(); 
conn.bind(serverSocket.accept(), new BasicHttpParams()); 
HttpRequest request = conn.receiveRequestHeader(); 
conn.receiveRequestEntity((HttpEntityEnclosingRequest)request); 
HttpEntity entity = ((HttpEntityEnclosingRequest)request).getEntity(); 
System.out.println(EntityUtils.toString(entity)); 

Ich konnte die norma Saiten, aber beim Versuch, die XML-Einheit zu übergeben, ich konnte nicht einmal den Druck Anweisung.

Antwort

0

Ich hoffe, dieser Code hilft Ihnen.

HttpPost httppost = new HttpPost(SERVICE_EPR);   
StringEntity se = new StringEntity(SOAPRequestXML,HTTP.UTF_8); 

se.setContentType("text/xml"); 
httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8"); 
httppost.setEntity(se); 

HttpClient httpclient = new DefaultHttpClient(); 
BasicHttpResponse httpResponse = 
(BasicHttpResponse) httpclient.execute(httppost); 

response.put("HTTPStatus",httpResponse.getStatusLine().toString()); 
+0

Ich will nicht die request..the Einheit senden durch andere Server übergeben wird ... Ich wollte nur, dass in meiner Anwendung verbrauchen . – dreamdeveloper

0

PFB die Lösung,

DefaultHttpServerConnection conn = new DefaultHttpServerConnection(); 
params = new BasicHttpParams(); 
conn.bind(socket, params); 

//Extracting the information from the requested URI 
HttpRequest request = conn.receiveRequestHeader(); 
conn.receiveRequestEntity((HttpEntityEnclosingRequest)request); 
HttpEntity httpEntity = ((HttpEntityEnclosingRequest)request).getEntity(); 

if(httpEntity != null){ 
    InputStream instream = httpEntity.getContent(); 
    try { 
    // do something useful 
    String myString = IOUtils.toString(instream, "UTF-8"); 
    Log.e(TAG,">>>> http body > "+myString); 
} finally { 
    instream.close(); 
} 

}

nicht die Daten Legen Sie alle Protokoll oder print-Anweisungen mit Ihnen erhalten haben, wurde ich 'Content bereits verbraucht' Ausnahme zu bekommen. Ich hatte mehrere Protokolle mit der httpEntity verwendet, die ich erhielt, und das verursachte das Problem für mich. Ich habe diese (gelb markiert) kommentiert und angefangen zu arbeiten.

PF der Apache doc als Referenz,

http://hc.apache.org/httpcomponents-core-ga/tutorial/pdf/httpcore-tutorial.pdf