在我的应用程序中,我正在使用ksoap2库,我得到一个例外:当应用程序尝试通过阿根廷和巴拿马的WAP2.0传输进行连接时,无法传输,并且在所有其他国家/地区的应用程序运行正常。
请提供我,如果有任何解决方案,任何类型的帮助将不胜感激。
答案 0 :(得分:0)
我不认为这与国家有关,设备可能有不同的配置。
首先,您必须检查故障设备中存在CID =“WPTCP”的服务记录。检查UID是否正在使用。对于WAP2,它应包含“WAP2”。
其次,将“deviceside”后缀附加到URL以确保它不会尝试通过其他连接模式:
HttpTransport httpTransport = new HttpTransport(requestURL+";deviceside=true;ConnectionUID="+wapuid);
更多信息:Different ways to make an HTTP or socket connection
更新:
在有问题的设备中试用此代码:
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连接。