BlackBerry Forums Support Community

BlackBerry Forums Support Community (http://www.blackberryforums.com/index.php)
-   Developer Forum (http://www.blackberryforums.com/forumdisplay.php?f=15)
-   -   HTTP POST body lost (http://www.blackberryforums.com/showthread.php?t=46322)

husky 09-11-2006 12:22 PM

HTTP POST body lost
 
Hi,

I developed a J2ME application to communicate a JAVA web server by sending and receiving XML messages, first I used MIDP 2.0 /CLDC 1.1, the application runs well on SUN's wireless toolkit's cell phone emulator, can do HTTP POST send back message to the server, when I delopyed the application to BlackBerry's emulator,it just got a deadlock, I set up a proxy server montoring the traffic of the JAVA server, I found out that the blackBerry can not send back the HTTP POST body, but the header is receivd by the server, and of course the MDS is running before the PDA client application started.
I also try use JDE 4.1 to debug this appliction, I checked the logs of the MDS, I even change the source code and only following RIM's programming standard, it still can not send the HTTP POST body back to the server,
Does anyone have the similar experience with me, please share your solutions, thanks a lot!

husky 09-11-2006 01:11 PM

source code for http processing
 
public class HttpHelper {

//do a GET or POST request to a web server
public static String doHttpRequest(String urlString, String postStr)
{
HttpConnection hc = null ;
InputStream is = null;
OutputStream os = null;

String responseString = "";
try {
hc = (HttpConnection) Connector.open(urlString);
if ( postStr != null) {
hc.setRequestMethod(HttpConnection.POST);
hc.setRequestProperty("User-Agent", "BlackBerry/4.1.0");
hc.setRequestProperty("Content-Language", "en-US");

os = hc.openOutputStream();
os.write(postStr.getBytes());
os.flush();

int responseCode = hc.getResponseCode();

if (responseCode != HttpConnection.HTTP_OK) {
System.out.println("HTTP post error!");
return null;
}
}
else {
hc.setRequestMethod(HttpConnection.GET);
}
is = hc.openInputStream();
int ch;
while ((ch = is.read())!= -1){
responseString += (char)ch;
}
}
catch (IOException e) {
System.err.println(e.toString());

}
finally {
try {
if (os != null) os.close();
if (is != null) is.close();
if (hc != null) hc.close();
}
catch (IOException ioe){}
}
return responseString;
}

}


All times are GMT -5. The time now is 07:31 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.