How do I post a parameter to a web service from Android?

kootha

New Member
I can retrieve an xml file using HTTP post and response. However, now I need to post a \[code\]String\[/code\] parameter as well as the URL. The following code is telling me that the HTTP staus code is not ok (i.e., 500) and so it returns \[code\]null\[/code\] and then I get a \[code\]NullPointerException\[/code\].\[code\]package com.JobsWebService;import java.io.IOException;import java.io.Reader;import java.io.StringReader;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import org.simpleframework.xml.Serializer;import org.simpleframework.xml.core.Persister;import android.util.Log;public class XmlConnection {private static final String url = "http://www.accuservlite.com/AccumobileWS/TestService.asmx/RyanMB_GetJobs";private DefaultHttpClient client = new DefaultHttpClient();String param= "Johnny";public List<NewJob> RyanMB_GetJobs() { try { String xmlData = http://stackoverflow.com/questions/11417888/retrieve(url); Serializer serializer = new Persister(); Reader reader = new StringReader(xmlData); ArrayOfNewJob testService = serializer.read(ArrayOfNewJob.class, reader, false); Log.i("gary", "Worked"); return testService.NewJob; } catch (Exception e) { Log.i("gary", e.toString()); } return null;}// method retrievepublic String retrieve(String url) throws UnsupportedEncodingException { List<NameValuePair> qparams = new ArrayList<NameValuePair>(); qparams.add(new BasicNameValuePair("Johnny", "Johhny")); UrlEncodedFormEntity postEntity = new UrlEncodedFormEntity(qparams, HTTP.UTF_8); HttpPost getRequest = new HttpPost(url); getRequest.setEntity(postEntity); try { HttpResponse getResponse = client.execute(getRequest); final int statusCode = getResponse.getStatusLine().getStatusCode(); if (statusCode != HttpStatus.SC_OK) { return null; } HttpEntity getResponseEntity = getResponse.getEntity(); if (getResponseEntity != null) { return EntityUtils.toString(getResponseEntity); } } catch (IOException e) { Log.i("gary", "Error for URL " + url, e); getRequest.abort(); } return null;}\[/code\]}
 
Back
Top