我正在向Web服务发送POST请求,该服务以XML格式返回数据。当我通过浏览器调用Web服务时,我可以看到完整的XML文件。但是,当我从我的Android应用程序(在模拟器中)调用Web服务时,我只获得部分XML数据?
发送的XML文件大小约为14500字节。我首先将响应存储在一个字节数组中,其大小我使用getContentLength()
函数计算。此方法返回正确的响应大小。
但是,我的InputStreamReader
将大约6350字节的实际数据读取到字节数组。字节数组的其余部分只包含零。
我尝试在网上到处寻找,但到目前为止我还没有找到解决方案。是分块是一种选择,但由于我无法访问网络服务代码,我无法实现该选项。
真的很感激,如果有人可以在这里指导我!
答案 0 :(得分:1)
我不明白为什么你需要使用InputStreamReader(如果你不小心可能会表现得非常错误)来读取Web服务数据(在你的情况下它只有大约14.5kb)。只需使用HttpURLConnection,连接到您的ws,它将关注您的连接以及响应connection.getResponseMessage();