tabassum pervez
tabassum pervez

Reputation: 77

local connection timed out after 120000 while reading the the image from the remote server

I am developing an application in BlackBerry 5.0 and want to display an image from a url. While reading the image from the url using the httpconnection I get the exception "local connection timed out after 120000 "

The exception occurs on the line "httpConnection.getResponseCode()".

My code is as follows :

private byte[] getimagefromurl(String PhotoUrl)
{

   String url = "http://www.mywebsite.com/images/Folder/xyz.jpg";
   try 
   {
        httpConnection = (HttpConnection) Connector.open(url, Connector.READ_WRITE);
         System.out.println("url>>>>>>>> "+url);
        httpConnection.setRequestMethod(HttpConnection.GET);
         System.out.println("Response>>>>>>>> "+String.valueOf(httpConnection.getResponseCode()));
        if(httpConnection.getResponseCode() == HttpConnection.HTTP_OK) 
        {

            InputStream input = httpConnection.openInputStream();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int j = 0;
            while((j=input.read()) != -1)
            {
                baos.write(j);
            }
            byteArray = baos.toByteArray();
            baos.close();

        }    
   }
   catch(Exception e)
   {
       System.out.println("in catch>>>>"+e.toString());
   }
   return byteArray;               
}

Upvotes: 2

Views: 1633

Answers (2)

rfsk2010
rfsk2010

Reputation: 8611

Yes the answer is exactly that. The connection timed out. check that your webservice works. if you are testing from device or emulator ,make sure you can hit the URL from the default blackberry browser.

If you are testing in the emulator, make sure you have MDS-CS simulator started.

have a look at this bit of code which works

import java.io.InputStream; 
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;

public class HTTPClient {
  public static String getPage(String url) {
    String response = "";

    try {
        StreamConnection s = (StreamConnection)Connector.open(url);

        InputStream input = s.openInputStream();

        byte[] data = new byte[256];
        int len = 0;
        StringBuffer raw = new StringBuffer();

        while( -1 != (len = input.read(data))) {
            raw.append(new String(data, 0, len));
        }

        response = raw.toString();

        input.close();
        s.close();
    } catch(Exception e) { }

    return response;
    }
}

Upvotes: 1

Govindarao Kondala
Govindarao Kondala

Reputation: 2862

append url extension like following example is work when you r working with WIFI

 httpConnection = (HttpConnection) Connector.open(url+";interface=wifi", Connector.READ_WRITE);

extensions just check this url connection extensions

Upvotes: 2

Related Questions