[英]How to set SOAP connection timeout in Java?
我正在使用以下代码将SOAP请求发送到端点。 由于我们在从服务器获取响应时遇到了一些延迟,因此我想在代码中设置连接超时。
码:
SOAPConnectionFactory soapConnectionFactory =SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
MimeHeaders header = new MimeHeaders();
header.addHeader("Content-type", "application/soap+xml;charset=UTF-8");
header.addHeader("SOAPAction", soapAction);
InputStream is = new ByteArrayInputStream(reqXML.getBytes());
SOAPMessage request = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage(header, is);
SOAPMessage soapResponse = soapConnection.call(request, endPoint);
有人可以帮我修改代码以添加超时值吗?
我通过javax.xml.soap.SOAPConnection线程设置套接字读取超时遇到了相同的问题。如果在创建肥皂消息时未指定肥皂版本,则会失败,因此无法使用此处提供的解决方案。
由于SOAP在下面使用jave.net.URLConnection,因此您可以设置连接超时的系统参数,这对于SOAP也同样有效。 您可以设置以下参数
-Dsun.net.client.defaultConnectTimeout = <超时>
-Dsun.rmi.transport.proxy.connectTimeout = <超时>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.