Rajeshkumar Kandhasamy
Rajeshkumar Kandhasamy

Reputation: 6461

Source not Found Error in Eclipse BlackBerry App

I'm new to BlackBerry application development. I have one silly error while during HttpConnection in httpcon.getResponseCode() method giving source not found error.

Please, can any one figure out this error?

Here is my method:

        net.rim.device.api.io.transport.ConnectionFactory cf = new   net.rim.device.api.io.transport.ConnectionFactory();
        httpConn = (HttpConnection) cf.getConnection(url).getConnection();

        httpConn.setRequestMethod(HttpConnection.POST);
        httpConn.setRequestProperty("User-Agent",
                "Profile/MIDP-2.0 Confirguration/CLDC-1.0");
        httpConn.setRequestProperty("Accept_Language", "en-US");
        httpConn.setRequestProperty("Content-Type",
                "application/x-www-form-urlencoded");

        httpConn.setRequestProperty("Content-Length",
                Integer.toString(postData.length));
        os = httpConn.openOutputStream();
        os.write(("[email protected]&Password=yah123")
                .getBytes("UTF-8"));
        os.flush();
        os.close();
        try {
            responseCode = httpConn.getResponseCode();
        } catch (IOException ex1) {
            //check if it's eof, if yes retrieve code again
            if (-1 != ex1.getMessage().indexOf("EOF")) {
                try {
                    responseCode = httpConn.getResponseCode();
                } catch (IOException ex2) {
                    System.out.println(ex2.getMessage());
                    // handle exception
                }
            } else {
                System.out.println(ex1.getMessage());
                // handle exception
            }
        }
        int status = httpConn.getResponseCode();

        if (status == HttpConnection.HTTP_OK) {

            InputStream input = httpConn.openInputStream();

            byte[] bytes = IOUtilities.streamToBytes(input);

            StringBuffer raw = new StringBuffer(new String(bytes));
            raw.insert(0, "bytes received]\n");
            raw.insert(0, bytes.length);
            raw.insert(0, '[');

            url = raw.toString();

            input.close();
        } else {
            url = "response code = " + status;
        }
        httpConn.close();
    } catch (IOCancelledException e) {
        System.out.println(e.toString());
        return "";
    } catch (IOException e) {

        return "";
    }

    return "";
}

Update: I am not trying to step into getResponseCode(). Eclipse is stopping execution at that point, and showing the Source Not Found error.

Upvotes: 0

Views: 435

Answers (2)

Rajeshkumar Kandhasamy
Rajeshkumar Kandhasamy

Reputation: 6461

I have found my mistake.When calling HttpConnection. getResponseCode() in that URL String we have to add deviceside=true then only getresponsecode() will be called without throwing any http exceptions.

For Example: httpClient ht = new httpClient(); String str = ht.getHttpClientResponse("https://www.google.co.in;deviceside=true",post);

Note: (From @Nate Comment) we don't always want deviceside=true in your connection strings. It depends on whether you're running on a device or a simulator, and what kind of network's available.

Upvotes: 1

Nate
Nate

Reputation: 31045

@Nate yes we are step into method that time only we are getting Run Time Error.Error is displayed When Getresponsecode() is called

Does your eclipse error look like this?

enter image description here

getResponseCode() is a method in the HttpConnection class. This is RIM's code, not yours. You normally shouldn't need to step into that code. Just step over that line while debugging. The only thing you should want to see is the result of that method, not what happens inside.

Even if net_rim_api.jar is included in your project, that simply gives you the binary version of RIM's classes, including HttpConnection. It doesn't provide the Java source code for that class. In order to step into a method, you would need to have the source code, too.

Upvotes: 2

Related Questions