0

我能够连接到网络服务并使用各种设备下载数据,例如 OS 4.6 或更高版本的 BlackBerry 9000。

但是,对于 8330 和 OS 4.5.0.77,它不起作用。我没有在任何比 8330 和 4.5.0.77 旧的设备上尝试过这个代码。在 8330 上,它resultObj = op.invoke(inputObject);在 JSR172 网络服务调用中挂起。这是在成功进行第一个 web 服务调用之后——它挂在第二个上。

实际上有两个网络服务:

  1. 用于身份验证的 Web 服务。
  2. 用于下载所有信息的网络服务。

到目前为止我尝试过的事情:

  1. 擦拭设备 - 什么也没做
  2. 将设备连接到 Eclipse 以查看发生了什么 - 没有发现任何有用的东西
  3. 在带有 4.5(MDS 运行)的 8330 模拟器上运行代码 - 可以完美运行,没有问题

有谁知道如何解决这个问题?

这是我构建连接字符串的方式:

    String webserviceURL = developmentUrl;

    // if it is simulator then force the network that is available on
    // the PC
    if (DeviceInfo.isSimulator()) {
        webserviceURL += ";deviceside=true";
    } else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS) {
        // go through MDS
        webserviceURL += ";deviceside=false";
    }
    // else if ((CoverageInfo.getCoverageStatus() &
    // CoverageInfo.COVERAGE_CARRIER) == CoverageInfo.COVERAGE_CARRIER)
    // {
    // webserviceURL += "'deviceside=true";// go direct
    // }

    // check if the wifi is available and change the url to use the wifi
    // signal
    if ((RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN) != 0)
    // check for carrier
    {
        if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED)
        // check for wifi
        {
            // WebService URL when the app is being used in the
            // actual device
            webserviceURL = webserviceURL + ";interface=wifi";
        }
    }

    // WebService URL when the app is being used in the actual device
    _propertyValues = new Object[] { webserviceURL };
4

1 回答 1

0

我能够通过处理大约 50k 块数据来解决这个问题。我很乐意帮助任何有类似问题的人。

于 2010-11-17T19:42:10.030 回答