我想使用HttpURLConnection
连接到我的webservice,POST一个XML并获得结果。我使用以下代码:
URL url = new URL(urlString);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
问题是,当我调用setRequestProperty
方法时,它失败了,IllegalStateException
说我已经连接了#34;。显然,openConnection
实际上打开了与URL的连接(在我的调试器中,我可以看到connected
布尔设置为true
)。根据{{3}}的URL
文档,它不应该。 Oracle文档不清楚。
如何阻止openConnection
连接,以便我可以设置额外的属性?
更新看起来connection
在某个池中,并且即使在调用connection.disconnect()
之后也无法断开连接,甚至无法取消服务器。< / p>
我不认为这是Android的副本,因为它没有给出真正的答案。此外,文件似乎还不清楚。
答案 0 :(得分:-1)
openConnection()
无法连接,您发布的代码与您所描述的不同。打开TCP连接的是以下任何一种:
getInputStream()
getErrorStream()
getResponseCode()
Ergo 在尝试设置请求属性之前,您必须先调用其中一个。