BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #15497同步于 2010/8/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[求助]java web工程由windows迁移到linux的问题 (转载)

IkariShinji
2010/8/18镜像同步2 回复
【 以下文字转载自 Linux 讨论区 】 发信人: IkariShinji ([路]团长|蘑菇团子|小喵的小汪|佣户), 信区: Linux 标 题: [求助]java web工程由windows迁移到linux的问题 发信站: 北邮人论坛 (Wed Aug 18 09:54:52 2010), 站内 一个java的web工程,需要向另一台服务器发送、接收报文。在windows服务器上跑的完全没问题;迁移到linux服务器上之后,可以正常发送报文;对方可以接收到报文,可以发出返回报文;但工程里就是接收不到对方返回的报文。有没有大牛知道是什么问题,或者是哪方面的问题? 谢谢。
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
IkariShinji机器人#1 · 2010/8/18
这是发、收报文的代码,乱码部分请自动忽略,中文编码格式原因 public static String send(String sendurl, String sendText) throws Exception { logger.info("开始向"+sendurl+"发送数据"); URL url = null; URLConnection uc = null; try { url = new URL(sendurl); uc = url.openConnection(); } catch(IOException e) { System.out.println("httpl?????" + e.getMessage()); logger.info("httpl连接错误1: " + e.getMessage()); } if(!(uc instanceof HttpURLConnection)) System.out.println("httpl????? l?????????"); logger.info("httpl连接错误2:连接属性是: " +uc.getClass().getName()); try { uc.setDoOutput(true); uc.setUseCaches(false); HttpURLConnection hc = (HttpURLConnection)uc; hc.setRequestMethod("POST"); java.io.OutputStream os = uc.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.write(sendText.getBytes("GB2312")); dos.flush(); dos.close(); } catch(IOException e) { System.out.println("http??????? " + e.getMessage()); logger.info("httpl连接错误3: " + e.getMessage()); } String strReceive = ""; try { InputStream is = uc.getInputStream(); DataInputStream in = new DataInputStream(is); int blockLen = in.available(); logger.info("可以读取到的数据长度: "+ blockLen); byte block[] = new byte[blockLen]; for(int readLen = -9999; readLen != -1;) { readLen = in.read(block); logger.info("已经读取到的数据长度: "+ blockLen); if(readLen != -1) strReceive = strReceive + new String(block); } is.close(); in.close(); } catch(IOException e) { System.out.println("HTTP???????"); logger.info("httpl接收错误1:" + e.getMessage()); } logger.info("发送报文完毕"); System.out.println("hhhh=" + strReceive); return strReceive; } 【 在 IkariShinji ([路]团长|蘑菇团子|小喵的小汪|佣户) 的大作中提到: 】 : 【 以下文字转载自 Linux 讨论区 】 : 发信人: IkariShinji ([路]团长|蘑菇团子|小喵的小汪|佣户), 信区: Linux : 标 题: [求助]java web工程由windows迁移到linux的问题 : ...................
IkariShinji机器人#2 · 2010/8/18
日志记录的最后一段: [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [trans.pub.HttpSender.send:25] 开始向http://10.10.163.88:7002/itmdsvr/servlet/insureSevlet发送数据 [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [trans.pub.HttpSender.send:40] httpl连接错误2:连接属性是: weblogic.net.http.SOAPHttpURLConnection [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [trans.pub.HttpSender.send:65] 可以读取到的数据长度: 0 [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [trans.pub.HttpSender.send:70] 已经读取到的数据长度: 0 [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [trans.pub.HttpSender.send:83] 发送报文完毕 [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [com.sinosig.carpremium.services.impl.TMServiceImpl.Tr_3001:239] =====data response from TM:(掐尾巴之前)===== [INFO] 2010-08-18 13:10:10 [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [com.sinosig.carpremium.services.impl.TMServiceImpl.sendToTmImid:96] 立即推数过程中发生异常!异常信息为:String index out of range: 8 【 在 IkariShinji ([路]团长|蘑菇团子|小喵的小汪|佣户) 的大作中提到: 】 : 这是发、收报文的代码,乱码部分请自动忽略,中文编码格式原因 : public static String send(String sendurl, String sendText) : throws Exception : ...................