下面这段代码是向服务器端POST一条数据的代码,在模拟器上使用MDS联网,POST数据成功了,但是一发到外包方(新加坡那边的)进行真机测试死活POST不成功,(由于这边刚开始做Blackberry,没有真机,也没有签名无法测试)
有这方面经验的朋友,帮忙看下代码,看看问题出在哪里,纠结了好多天都没解决,知道的帮忙解决下,非常感谢了。
public boolean uploadDataToServer(int golbalTime) throws IOException,
SIMCardException {
// http://applorer.com/nERuGAwepRu3ruDR/tracker/track?os=BlackBerry
// 5.0.0&app=GD121&deviceid=355239030062710&phonenum=91798175&custom1=2
Util
.log("-------GD121>-------------uploadDataToServer------------------------");
HttpCreateUrl httpCreateUrl = new HttpCreateUrl();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
String url = "http://applorer.com/nERuGAwepRu3ruDR/tracker/track";
// String url =
// "http://applorer.com/nERuGAwepRu3ruDR/tracker/track;deviceside=true;interface=wifi";
String osVersion = "BlackBerry " + DeviceInfo.getSoftwareVersion();
String appName = Strings.APP_NAME;
String IMEI = getIMEI();
String phoneNumber = getSIMPhoneNumber();
HttpConnection hconn = null;
OutputStream out = null;
InputStream istrm = null;
try {
StringBuffer content = new StringBuffer("os");
content.append('=');
content.append(new String(osVersion.getBytes(), "UTF-8"));
content.append('&');
content.append("app");
content.append('=');
content.append(new String(appName.getBytes(), "UTF-8"));
content.append('&');
content.append("deviceid");
content.append('=');
content.append(new String(IMEI.getBytes(), "ASCII"));
content.append('&');
content.append("phonenum");
content.append('=');
content.append(phoneNumber);
content.append('&');
content.append("custom1");
content.append('=');
content.append(golbalTime);
String bodystr = content.toString();
if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {
Util.log("==========+WLAN_STATE_CONNECTED+============");
//url = httpCreateUrl.getWifiUrl(url);
url = url+"deviceside=true;interface=wifi";
hconn = (HttpConnection) Connector.open(url);
}
int coverageStatus = CoverageInfo.getCoverageStatus();
switch (coverageStatus) {
case CoverageInfo.COVERAGE_MDS:
Util.log("==========+COVERAGE_MDS+============");
url = httpCreateUrl.getBesMdsUrl(url);
hconn = (HttpConnection) Connector.open(url);
break;
default:
Util.log("==========+default+deviceside=true============");
hconn = (HttpConnection) Connector.open(url
+ ";deviceside=true");
}
Util.log("-------GD121>-------------URL:" + url);
hconn = (HttpConnection) Connector.open(url, Connector.READ_WRITE,
true);
// UrlRequestedEvent
hconn.setRequestMethod(HttpConnection.POST);
hconn.setRequestProperty(HttpProtocolConstants.HEADER_USER_AGENT,
"BlackBerry/5.0.0");
hconn.setRequestProperty(
HttpProtocolConstants.HEADER_CONTENT_LENGTH, String
.valueOf(bodystr.getBytes().length));
hconn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_TYPE,
"application/x-www-form-urlencoded");
out = hconn.openOutputStream();