У меня есть вопрос о httpConnection и getResponseCode на BlackBerry - PullRequest
0 голосов
/ 19 ноября 2010

, если я пытаюсь подключить камеру JPEG, это соединение работает правильно.Но когда я подключаюсь к камере Mjpeg (jpeg-stream), я не могу показать "System.out.println (" onreturn oncesi "+ httpConnection.getResponseCode ());"на выходной консоли.Я использую Эмулятор и MDS.Я могу показать на MDS, ... поток идет.

url = getUrl();
queryString = encodeURL(queryString);    
byte postmsg[] = queryString.getBytes("UTF-8");
httpConnection = (HttpConnection) Connector.open(url
+ ";deviceside=false", Connector.READ_WRITE);
httpConnection.setRequestMethod(HttpConnection.GET);
httpConnection.setRequestProperty("Authorization", getBase64Encode());
os = httpConnection.openDataOutputStream(); 

for (int i = 0; i < postmsg.length; i++) {
os.write(postmsg[i]);
}
{
 if (!cancel) {
     System.out.println(httpConnection.getURL()+ 
         " *****"+httpConnection.getPort());
     System.out.println("onreturn oncesi"
         + httpConnection.getResponseCode());
     onReturn(httpConnection.getResponseCode(), httpConnection
         .openInputStream(),(int) httpConnection.getLength());

     System.out.println("onreturn sornrası");
 }
 os.close();
 httpConnection.close();
}
} catch (Exception e) {
System.out.println("hata " + e.getMessage());
try {
    httpConnection.close();
    Thread.sleep(60);
} catch (Exception ie) {
}
onError(e);
}

1 Ответ

1 голос
/ 19 ноября 2010

Одной из проблем является неправильная настройка заголовков ваших запросов.

Ваши данные для публикации, поэтому httpConnection.setRequestMethod(HttpConnection.GET); не должно быть httpConnection.setRequestMethod(HttpConnection.POST);.

. Также следует установить content-Length : httpConnection.setRequestProperty("Content-Length", Integer.toString(postmsg.length));

И пока мы это делаем, я бы выбрал следующее:

тип контента : возможно, как "image / jpeg".Не уверен, что это должно быть для mJpeg ... httpConnection.setRequestProperty("Content-Type", "image/jpeg");

UserAgent Я обнаружил, что некоторые сайты блокируют пользовательский агент по умолчанию в RIM (Java / xxx), думая, что этопаук, так что мне нравится устанавливать пользовательский агент. httpConnection.setRequestProperty("User-Agent", "MyCoolApp/V1 (App_RIM)");

Какую версию JDE вы используете?Это через HTTPS?Я спрашиваю, потому что на более старых версиях, таких как 4.5, вам приходилось создавать http и https по-разному.В более новых версиях вам, вероятно, следует использовать новую ConnectionFactory вместо Connector.

Удачи, и я надеюсь, что вы это выясните !!!

...