我在我的android後臺服務中遇到問題。雖然使用HTTP協議就說明ClientProtocolException發送數據從android發送數據到web api服務
我的WebAPI是
[AcceptVerbs("GET", "POST")]
[ActionName("InsertLocationDetails")]
public string InsertLocationDetails([FromBody]LocationDetails locDetails)
{
return objLocationService.InsertLocationDetails(locDetails.UserId,locDetails.DateTime.ToString(),
locDetails.Latitude,locDetails.Longitude,locDetails.Status.ToString(),locDetails.Location.ToString());
}
我有我的LocationDetails與PARAMATERS
public class LocationDetails
{
public int UserId { get; set; }
public Double Latitude { get; set; }
public Double Longitude { get; set; }
public string Status { get; set; }
public string DateTime { get; set; }
public string Location { get; set; }
}
在我的Android後臺代碼I M使用HTTP協議類。我需要我的Web API服務進行通信,以插入
public String insertLocationDetails(int userid,String newtime,String status,double latitude,double longitude,String address,String city,String country)
{
HostUrl="http://URL/ServiceName/InsertLocationDetails";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(HostUrl);
try
{
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("UserId",String.valueOf(userid)));
params.add(new BasicNameValuePair("DateTime", newtime));
params.add(new BasicNameValuePair("Latitude",String.valueOf(latitude)));
params.add(new BasicNameValuePair("Longitude",String.valueOf(longitude)));
params.add(new BasicNameValuePair("Status",status));
params.add(new BasicNameValuePair("Location",(address+","+city+","+country)));
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Accept", "application/json");
HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
httpPost.setEntity(entity);
ResponseHandler<String> handler = new BasicResponseHandler();
result =httpClient.execute(httpPost,handler);
}
catch (ClientProtocolException e)
{
e.printStackTrace();
Log.e(TAG, "ClientProtocolException in callWebService(). " + e.getMessage());
}
catch (IOException e)
{
e.printStackTrace();
Log.e(TAG, "IOException in callWebService(). " + e.getMessage());
}
return result;
}}
其實我的jQuery代碼正常工作的DATAS和插入值
我的JavaScript代碼,請工作正常
function insertLocationDetails()
{
var url=serverUrl();
var urlpath={
UserId : userid,
DateTime : datetime,
Latitude: latitude,
Longitude : longitude,
Status: status,
Location : address };
$.ajax
({
cache: false,
async: true,
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
url: url +"InsertLocationDetails",
data: JSON.stringify(urlpath),
success: function (result)
{
var result = eval(result);
for (var property in result)
{
}
}
});
}
幫助我找出我的Android後臺服務中的例外 請給出正確的代碼以與我的服務進行通信
預先感謝 ARUN
喜@Arun你怎麼會在這裏解決您的問題,我想你的代碼,我也得到了同樣的錯誤了ClientProtocolException成爲空什麼是錯的可以請您幫助我如何將你的固定它的感謝 – NewDroidDev