Соединение установлено, но содержимое не может быть получено из веб-службы - PullRequest
0 голосов
/ 15 января 2012
public class ConsumeFactoryThread extends Thread {
    private String url;
    private HttpConnection httpConn;
    private InputStream is;
    private CustomMainScreen m;
    private JSONArray array;

    public ConsumeFactoryThread(String url, CustomMainScreen m){
        System.out.println("Connection begin!");
        this.url = url;
        this.m = m;
    }

    public void finished(){
        m.onFinish(array);


    }

    public void run(){

        myConnectionFactory connFact = new myConnectionFactory();
        ConnectionDescriptor connDesc;

        connDesc = connFact.getConnection(url);
        System.out.println("Connection factory!");
        if(connDesc != null)
        {
            System.out.println("Connection not null!");
            httpConn = (HttpConnection) connDesc.getConnection();
            is = null;



            try
            {
                final int iResponseCode = httpConn.getResponseCode();
                UiApplication.getUiApplication().invokeLater(new Runnable()
                {

                    public void run()
                    {
                        System.out.println("Connection in run!");
                         // Get InputConnection and read the server's response
                        InputConnection inputConn = (InputConnection) httpConn;
                        try {
                            is = inputConn.openInputStream();
                            System.out.println("Connection got inputstream!");
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        byte[] data = null;
                        try {
                            data = IOUtilities.streamToBytes(is);
                            System.out.println("Connection got data!");
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }



                        String result = new String(data);
                        System.out.println("Connection Data: "+result);
                        try {
                            array = new JSONArray(result);

                            //finished();

                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }


                    }

                });
            }
            catch(IOException e)
            {
                System.err.println("Caught IOException: " + e.getMessage());
            }
        }

    }

}

Я использую симулятор Blackberry Torch 9800 и аппаратное устройство для тестирования.В симуляторе я не могу получить данные по Wi-Fi, хотя соединение с Wi-Fi установлено.Работает, когда мобильная сеть включена.

Теперь, когда я заменяю свой веб-сервис на API Twitter, я получаю данные независимо от типа транспорта.Я попытался добавить; deviceside = false к моему URL, но ничего.Это не https или что-то еще.

Я просто хочу, чтобы мой веб-сервис был доступен!Я ничего не знаю об этом MDS, BIS, BES, BIS_B мусор.

РЕДАКТИРОВАТЬ:

Боже.Я понимаю, что это может быть мой сайт.Не используя веб-сервис и просто извлекая страницу www.example.com, я ничего не получаю.Но google.com или любой другой сайт, который я использую, получает html.Я скучаю по заголовкам!?!

1 Ответ

0 голосов
/ 16 января 2012

Попробуйте добавить ;interface=wifi в конец вашего URL, это заставит симулятор использовать ваше симулированное соединение Wi-Fi, которое является сетевым соединением вашего ПК.

Вам нужно будет настроить Wi-Fi на симуляторе, перейдя на Manage Connections->Set Up Wi-Fi Network, а затем подключиться к Default WLAN Network.

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