繁体   English   中英

SoapConnection超时在Wildfly 10中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM