HttpConnection消息中Blackberry中的错误包含数据报(ConnectionBase).receive(Datagram)行538

时间:2011-11-23 09:34:41

标签: blackberry

这是我发生连接问题的代码。 HttpConnection未从输入流中的连接obj获得响应。发生的错误是:

Datagram(ConnectionBase).receive (Datagram)第538行

 HttpConnection httpCon = null;
    InputStream iStream = null;
    String url = null;
    String result = "";
    public GetXmlHttp(String str)
    {
        url=str;
    }
    public String RESULT()
    {       
        try
        {   
            httpCon = (HttpConnection)Connector.open(url);
            httpCon.setRequestMethod(HttpConnection.GET);
            iStream = httpCon.openInputStream();//error is here

            int httpResponse = httpCon.getResponseCode();
            System.out.println("httpResponse code"+httpResponse);
            System.out.println(httpResponse);
            if(httpResponse != 200)
            return null;

            InputStreamReader in = new InputStreamReader(iStream);
            StringBuffer sb=new StringBuffer();
            char[] ch=new char[1020];
            while(in.read(ch)!=-1)
            {
                sb.append(ch);
            }
      }
} 

1 个答案:

答案 0 :(得分:0)

发布异常会有所帮助,但还要查看HttpConnection的API文档。在那里张贴了示例代码,用于通过HttpConnection获取,这与您的至少有一个显着差异。在openInputStream之前调用getResponseCode:

void getViaHttpConnection(String url) throws IOException {
     HttpConnection c = null;
     InputStream is = null;
     int rc;

     try {
         c = (HttpConnection)Connector.open(url);

         // Getting the response code will open the connection,
         // send the request, and read the HTTP response headers.
         // The headers are stored until requested.
         rc = c.getResponseCode();
         if (rc != HttpConnection.HTTP_OK) {
             throw new IOException("HTTP response code: " + rc);
         }

         is = c.openInputStream();