开发者

Retriving url from webservice and how to connect to that url

i am new开发者_StackOverflow社区 to black berry.i am doing one task,i have one webservice to show some url.i need to retrive it and connect to that url.i tried with two threads one is to retrive url and other is to connect to url which is in webservice but it shows nullpointer exception.please help me.

Thank You.


since you have not posted any code, it's very difficult to diagnose the problem. But look at the following code which tries to open an absolute url. This can be helpful.

Use this method for both of your connection (Web Service and URL returned from Web Service). Be sure to call this method in a separate thread otherwise it will freeze the UI.

public static ResponseBean sendRequestAndReceiveResponse(
String method, String absoluteURL, String bodyData, boolean readResponseBody) 
    throws IOException
{
        ResponseBean responseBean = new ResponseBean();
        HttpConnection httpConnection = null;
try
{
    String formattedURL = absoluteURL + "deviceside=true;interface=wifi"; // If you are using WiFi
    //String formattedURL = absoluteURL + "deviceside=false"; // If you are using BES
    //String formattedURL = absoluteURL + "deviceside=true"; // If you are using TCP

    if(DeviceInfo.isSimulator()) // if simulator is running
        formattedURL = absoluteURL;

    httpConnection = (HttpConnection) Connector.open(formattedURL);

    httpConnection.setRequestMethod(method);

    if (bodyData != null && bodyData.length() > 0)
    {                               
        OutputStream os = httpConnection.openOutputStream();
        os.write(bodyData.getBytes("UTF-8"));
    }           

    int responseCode = httpConnection.getResponseCode();
    responseBean.setResponseCode(responseCode);

    if (readResponseBody)
    {
        responseBean.setBodyData(readBodyData(httpConnection));
    }
}
catch (IOException ex)
{                       
    System.out.println("!!!!!!!!!!!!!!! IOException in NetworkUtil::sendRequestAndReceiveResponse(): " + ex);
    throw ex;
}
catch(Exception ex)
{                       
    System.out.println("!!!!!!!!!!!!!!! Exception in NetworkUtil::sendRequestAndReceiveResponse(): " + ex);
    throw new IOException(ex.toString());
}
finally
{
    if (httpConnection != null)
        httpConnection.close();
}

return responseBean;
}

public static StringBuffer readBodyData(HttpConnection httpConnection) throws UnsupportedEncodingException, IOException
{   
    if(httpConnection == null)
        return null;
StringBuffer bodyData = new StringBuffer(256);                          
InputStream inputStream = httpConnection.openDataInputStream();

byte[] data = new byte[256];
int len = 0;
int size = 0;

while ( -1 != (len = inputStream.read(data)) )
{
    bodyData.append(new String(data, 0, len,"UTF-8"));
    size += len;
}

if (inputStream != null)
{
    inputStream.close();            
}

return bodyData;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜