-1

在我的应用程序中,我使用的是 ksoap2 库,但出现异常:当应用程序尝试通过阿根廷和巴拿马的 WAP2.0 传输连接时传输失败,并且在所有其他国家/地区应用程序运行正常。

如果有任何相同的解决方案,请向我提供任何帮助,我们将不胜感激。

4

1 回答 1

0

我认为这与国家无关,设备可能具有不同的配置。

首先,您必须检查故障设备中是否存在 CID = "WPTCP" 的服务记录。检查 UID 是您正在使用的 UID。对于 WAP2,它应该包含“WAP2”。

其次,将“deviceside”后缀附加到 URL 以确保它不会尝试通过其他连接模式:

    HttpTransport httpTransport = new HttpTransport(requestURL+";deviceside=true;ConnectionUID="+wapuid); 

更多信息:建立 HTTP 或套接字连接的不同方法


更新:
在有问题的设备中尝试此代码:

    ConnectionFactory factory = new ConnectionFactory();
    factory.setPreferredTransportTypes(new int[]{TransportInfo.TRANSPORT_WAP2});
    factory.setDisallowedTransportTypes(new int[]{TransportInfo.TRANSPORT_WAP, TransportInfo.TRANSPORT_BIS_B, TransportInfo.TRANSPORT_MDS, TransportInfo.TRANSPORT_TCP_WIFI, TRANSPORT_TCP_CELLULAR});

    ConnectionDescriptor cd = factory.getConnection("http://www.google.com");
    HttpConnection httpConnection = (HttpConnection) cd.getConnection();

    //Now work with httpConnection as usual.

如果它不起作用,那么由于某种原因您无法打开 WAP2 连接。

于 2013-01-22T09:05:22.103 回答