Проблема с Blackberry HTTP Connection - PullRequest
0 голосов
/ 28 июля 2011

У меня есть простое приложение, написанное для подключения к веб-сервису (restful).Приложение отлично работает на симуляторе BlackBerry, однако у меня возникают проблемы с его использованием на BlackBerry 9300.

Я получаю сообщение об ошибке «java.io.ioexception: tunnel down», когда приложения пытаются вызвать Интернетservice.

Служба, которую я вызываю, - это простая HTTP-запись, и я пытаюсь запустить ее через WIFI (соединение WIFI работает нормально для работы в Интернете).

Яиспользуя строку подключения "http://127.0.0.1:8080/test/restws;interface=wifi" с IP-адресом, измененным на фактический IP-адрес сервера, которому я звоню. Я могу вызвать веб-службу restful на этом сервере в браузере моего ноутбука.

код, который я использую, аналогичен приведенному ниже и прекрасно работает на симуляторе. Единственное, что я изменяю между симулятором и кодом на телефоне, это строка подключения (используя «interface = wifi» вместо «deviceside = true»)

Это проблема кода или это настройка, которую мне нужно изменить на телефоне? Есть идеи, что мне нужно сделать, чтобы преодолеть это.

Спасибо

    StreamConnection s = (StreamConnection) Connector
        .open(connectionString);
    httpConn = (HttpConnection) s;
    httpConn.setRequestMethod("POST");
    httpConn.setRequestProperty("Content-Length", Integer.toString(postData.length()));

    OutputStream output = httpConn.openOutputStream();
    output.write(postData.getBytes());
    output.flush();
    output.close();

    String response = httpConn.getResponseMessage();
    int statusCode = httpConn.getResponseCode();
    if (statusCode != HttpConnection.HTTP_OK) {
    }

    InputStream is = httpConn.openInputStream();
    int ret = 0;
    while ((ret = is.read(buf)) > 0) {
    os.write(buf, 0, ret);
    }

    result = new String(os.toByteArray());

Ответы [ 4 ]

1 голос
/ 28 июля 2011

У меня были проблемы в здесь . После получения HttpConnection все так же, я думаю.Попробуйте это:

ConnectionFactory cf = new ConnectionFactory();
ConnectionDescriptor cd = cf.getConnection("YourUrl");
httpConnector = (HttpConnection) cd.getConnection();
httpConnector.setRequestMethod(HttpConnection.POST);
0 голосов
0 голосов
/ 28 июля 2011

Сетевые подключения на BlackBerry сложны и сложны. Руководство де-факто о том, как все это работает, - сообщение на форуме " Подключение вашего BlackBerry - http и сокеты к миру " от Питера Стрэнджа.

Кроме того, в сообщении " Проблемы с подключением " есть хотя бы частичное описание ошибки "Tunnel Down". Вы можете попробовать поискать на форумах поддержки BlackBerry , чтобы узнать больше.

0 голосов
/ 28 июля 2011

Эй, хорошо, я не знаю, решит ли это вашу проблему, но попробуйте этот тег тоже с интерфейсом = wifi, deviceside = true, а также "ConnectionType = mds-public".Надеюсь, что это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...