Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java REST PUT响应格式_Java_Android_Http_Rest - Fatal编程技术网

Java REST PUT响应格式

Java REST PUT响应格式,java,android,http,rest,Java,Android,Http,Rest,我有一个带有MySQL数据库的android应用程序。在android平板电脑上输入的行需要在服务器上同步,也需要使用MySql。写入服务器后,需要将服务器唯一整数返回平板电脑以更新本地数据库。这样它将x-ref客户端到服务器。它当前的工作方式是为每一行执行PUT,并在响应中使用服务器ID的位置。但是,如果有大量的更新,则需要花费很长时间,因为每一行都会打开一个新的HttpConnection。我希望能够将更新分组到一个XML字符串中,并获得返回的XML文件,其中包含每个客户端ID的server

我有一个带有MySQL数据库的android应用程序。在android平板电脑上输入的行需要在服务器上同步,也需要使用MySql。写入服务器后,需要将服务器唯一整数返回平板电脑以更新本地数据库。这样它将x-ref客户端到服务器。它当前的工作方式是为每一行执行PUT,并在响应中使用服务器ID的位置。但是,如果有大量的更新,则需要花费很长时间,因为每一行都会打开一个新的HttpConnection。我希望能够将更新分组到一个XML字符串中,并获得返回的XML文件,其中包含每个客户端ID的serverID外部引用。但是,我找不到在响应中发送XML的方法,只有URI。我的连接代码是

HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, Const.HTTP_CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParameters, Const.HTTP_SOCKET_TIMEOUT);
DefaultHttpClient client = new DefaultHttpClient(httpParameters);
client.getCredentialsProvider().setCredentials(AuthScope.ANY,new UsernamePasswordCredentials("xxxxx","xxxxx"));  // TODO Change to logged user name
HttpPut put = new HttpPut(uri);
StringEntity entity = new StringEntity(xml);
entity.setContentType("application/xml");
put.setEntity(entity);
HttpClientParams.setRedirecting(put.getParams(), false);
HttpResponse response = client.execute(put);
switch (response.getStatusLine().getStatusCode()){
case 200:
case 201:
    location = response.getLastHeader("Location").getValue();
    key = location.substring(location.lastIndexOf("/")+1);
    break;
case 401:
    throw new RuntimeException("Authorisation Failed");
default:
    throw new RuntimeException("Failed to Create Data Record on Server");
            }
在服务器上

if (flight.getClientFlightId()!=0){
if (insertFlight(userId)){
    xref += "<clientId>"+flight.getClientFlightId()+"</clientId><serverId>"+flight.getServerFlightId()+"</serverId>";
    }
}
xref +="</xref>";
response = Response.created(URI.create(xref)).build();
if(flight.getClientFlightId()!=0){
if(插入航班(用户ID)){
外部参照+=“”+flight.getClientFlightId()+“”+flight.getServerFlightId()+“”;
}
}
外部参照+=“”;
response=response.created(URI.create(xref)).build();
有人能帮忙吗?

ArrayList putParams=new ArrayList();
ArrayList<NameValuePair> putParams = new ArrayList<NameValuePair>();
putParams.add(new BasicNameValuePair("myXML", "<xml> _PUT_YOUR_XML_HERE_ </xml>"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(putParams);
put.setEntity(formEntity);
添加(新的BasicNameValuePair(“myXML”,“将您的XML放在这里”); UrlEncodedFormEntity formEntity=新的UrlEncodedFormEntity(putParams); put.setEntity(formEntity);
我不是这个意思。将xml放入PUT中可以很好地工作。我也只想要一个XML。