您的位置:首页 > 其它

JAX-WS webservice报超时错误的解决

2017-03-01 18:06 302 查看
我的项目是webservice的客户端,今天在接一个大的订单时报错,算了下,不到300K,报错如下

java.net.SocketTimeoutException: Read timed out

在stackoverflow上查了下,发现可以通过设置超时时间解决,代码如下:

IEAMDtNegotiationRecordService service = new IEAMDtNegotiationRecordService();
IEAMDtNegotiationRecordServicePortType servicePort = service.getIEAMDtNegotiationRecordServiceHttpPort();

Map<String, Object> requestContext = ((javax.xml.ws.BindingProvider)servicePort).getRequestContext();
requestContext.put("com.sun.xml.internal.ws.connect.timeout", 150000); // Timeout in millis
requestContext.put("com.sun.xml.internal.ws.request.timeout", 150000); // Timeout in millis


但是在我的工程里这段代码无效,把webservice放到一个新建的工程里没问题,原来超时的也不超时了可以正常接收到了,大概90s。
可能是跟公司平台的底层代码有关系,明天继续找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: