2010-04-27 21 views
0

我正在使用Net Beans在S60上开发应用程序。我为用户身份验证创建了一个页面,并使用.net wcf服务对用户进行身份验证。我能够通过HttpGet方法在.net服务上发送数据,但无法在java页面上获得响应。当http获得S60时,无法获得对java代码的回应

我已经测试过它在这个url的工作正常和返回响应代码200,但没有得到由java代码响应代码的小提琴手。以下代码我正在使用。这里有什么不对吗?

httpConn = (HttpConnection)Connector.open(url); 
httpConn.setRequestMethod(HttpConnection.GET); 
httpConn.setRequestProperty("User-Agent", 
"Profile/MIDP-2.1 Confirguration/CLDC-1.1"); 

int respCode = httpConn.getResponseCode(); 
+0

你是说getResponseCode()永远不会返回? –

+0

我无法重新获得控制权“int respCode = httpConn.getResponseCode();”从网络服务器。 – Rishabh

+0

当getResponseCode()被阻塞时,你仍然可以运行一个完全独立的java线程吗?一些不使用任何种类的GCF API的东西。更新屏幕或RecordStore上的Canvas。 –

回答

0

尝试用户代理 “资料/ MIDP-2.1配置/ CLDC-1.1”

+0

我已经尝试过,但还没有工作。 – Rishabh

+0

这只是一个获取http请求。 我会建议您在移动网络浏览器上使用此网址并查看结果。有时在组织中,管理员阻止来自其他用户代理的请求。 – Vivart

+0

请给我的网址,我可以实现从iis服务器的响应。 – Rishabh

-1

可能因为超时太短?试试这个......

URL url = new URL("http://www.google.com"); 
URLConnection conn = url.openConnection(); 
conn.setConnectTimeout(20 * 1000); // 20 seconds connect timeout 
conn.setReadTimeout(60 * 1000 * 1); // 1 minute read timeout 

// read response 
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
String resp; 

while ((resp = in.readLine()) != null) { // log response 
    System.out.println(resp); 
} 

in.close(); 
+1

嗨Rosdi,我使用j2me,所以它不支持URLConnection类。有什么办法来增加与我正在使用的HttpConnection类的连接时间。 – Rishabh

+0

'HttpURLConnection'是'URLConnection'的一个子类。应该能够使用'setConnectTimeout(..)'和'setReadTimeout(..)'。但我从来没有编程j2me,所以我只是猜测。 –

+0

@Rishabh,我刚刚查过,你不能在j2me中设置超时时间。所以你的问题不是因为超时。我建议你改变你的网址为google.com或类似的东西,看看代码是否可以实际浏览。 –