[英]SoapConnection timeouts not working in wildfly 10
美好的一天
我一直在网上搜索,到目前为止,以下解决方案似乎是我最接近没有任何第三方库的解决方案,但是它不起作用。 :(
我没有可以存根的wsdl。 我正在调用外部Web服务,只是传递了一条肥皂消息。
我没有容器即测试了相同的代码。 在我的主要方法中,它在那里工作,当我部署到wildfly10时,它似乎被jboss忽略或覆盖了。
我无法在standalone.xml中找到任何属性来进行编辑以更改读取超时设置,并且该属性仅适用于此Webservice调用。
我的调试LOG不会在日志中显示任何内容,这表明它没有被执行。 由于setReadTimeout(1),我预计会立即出现错误。
有任何想法吗?
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
URL endpoint = new URL (null, ENDPOINT, new URLStreamHandler() {
@Override
protected URLConnection openConnection(URL u) throws IOException {
LOG.debug("1.");
URL clone = new URL (u.toString ());
LOG.debug("2.");
URLConnection connection = clone.openConnection ();
LOG.debug("3.");
connection.setConnectTimeout (10000);//10 seconds
LOG.debug("4.");
connection.setReadTimeout (1);//1 ms
LOG.debug("5.");
return connection;
}
});
SOAPMessage soapResponse = soapConnection.call(soapMsg, endpoint);
如果我将呼叫线路编辑为以下内容,则readtimeout可以工作,但是我得到的是http 500,但网址正确:
SOAPMessage soapResponse = soapConnection.call(soapMsg, endpoint.getContent());
发送前请勿记录消息。 由于某种原因,这会清除您的肥皂信息。 请先注释掉记录或打印出SOAP消息的所有代码,然后再将其发送出去。 现在应该可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.