返回信息流【 以下文字转载自 Linux 讨论区 】
发信人: IkariShinji ([路]团长|蘑菇团子|小喵的小汪|佣户), 信区: Linux
标 题: [求助]java web工程由windows迁移到linux的问题
发信站: 北邮人论坛 (Wed Aug 18 09:54:52 2010), 站内
一个java的web工程,需要向另一台服务器发送、接收报文。在windows服务器上跑的完全没问题;迁移到linux服务器上之后,可以正常发送报文;对方可以接收到报文,可以发出返回报文;但工程里就是接收不到对方返回的报文。有没有大牛知道是什么问题,或者是哪方面的问题?
谢谢。
这是一条镜像帖。来源:北邮人论坛 / java / #15497同步于 2010/8/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[求助]java web工程由windows迁移到linux的问题 (转载)
IkariShinji
2010/8/18镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
这是发、收报文的代码,乱码部分请自动忽略,中文编码格式原因
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的问题
: ...................
日志记录的最后一段:
[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
: ...................