Android HttpPut和奇怪的角色幻影

时间:2013-12-10 04:18:08

标签: java android xml http-put

我尝试使用HttpPut发送xml并且我总是有错误400,我尝试使用几个REST客户端for firefox,我的URI和XML都可以。

所以我用wireshark检查数据包,发生了一些奇怪的事情,似乎我的角色'?'在xml的开头。当然这个'?'不在我的xml文件中,我找不到它的来源。当我把我的xml放在代码中的变量中时一切正常但是如果我从eclipse资源目录中的文件中读取xml'?'出现...

这是我的代码示例,我尝试了一切:使用addHeaders,没有添加标题,读取字节而不是行....每次都得到错误400。问题是来自代码的那部分导致如果我“手动”添加xml文件的第一行(就像我在这里放的代码中所做的那样)'?'在第一行而不是在开头之后(如果我从文件中读取所有xml)

BufferedReader reader = new BufferedReader(new InputStreamReader(c.getAssets().open("data.xml")));   
String line;
String f="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>";
while((line=reader.readLine()) != null){
    f+=line;    
}
reader.close();
StringEntity se = new StringEntity(new String(f));
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"text/xml;charset=UTF-8"));
            reqPut.setEntity(se);
httpResp =  (BasicHttpResponse) httpCli.execute(reqPut);

所以,如果有人对此有所了解......

0 个答案:

没有答案