У меня проблема с созданием httpurlconnection (или httpsurlconnection). На самом деле речь идет о настройке заголовков соединения после приведения url.openconnection. До этого исполняемый код не работал. Я не мог понять. (Исключение: уже подключено ... или как ...)
Иногда он запускается до httpConn.getOutPutStream (); В это время выдает ошибку "java.net.ProtocolException: OutputStream недоступен, поскольку заголовки запроса уже отправлены!"
Где моя вина?
До того, как я использовал код: Весь код здесь (у меня есть еще один вопрос по поводу Этот код тоже)
URL url = new URL(getUrl());
URLConnection conn = url.openConnection();
HttpURLConnection httpConn=(HttpURLConnection)conn; /*or HttpsURLConnection*/
httpConn.set...
...
httpConn.connect();
...
Я пытаюсь установить некоторые настройки после приведения, но результат тот же. conn.set .. работает, но после кастинга ничего не могу установить ...
Измененный код:
URL url = new URL(getUrl());
conn = url.openConnection();
conn.setAllowUserInteraction(false);
conn.setConnectTimeout(10000);
conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("Content-Type",
"text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"http://tempuri.org/IAuthenticationServiceNew/Authenticate");
conn.setRequestProperty("Software-Version", AppData.VERSION);
conn.setDoOutput(true);
httpConn = (HttpsURLConnection) conn;
httpConn.setChunkedStreamingMode(getParams().getBytes("UTF8").length);
httpConn.setInstanceFollowRedirects(true);
httpConn.connect();
os = httpConn.getOutputStream();
os.write(getParams().getBytes("UTF8"));