Revision 46019
Added by Claudio Atzori over 7 years ago
ResultSetClientFactory.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.enabling.resultset.client; |
2 | 2 |
|
3 |
import java.util.Map; |
|
4 |
import javax.xml.ws.BindingProvider; |
|
3 | 5 |
import javax.xml.ws.wsaddressing.W3CEndpointReference; |
4 | 6 |
|
7 |
import com.sun.xml.internal.ws.client.BindingProviderProperties; |
|
5 | 8 |
import eu.dnetlib.enabling.resultset.client.utils.EPRUtils; |
6 | 9 |
import eu.dnetlib.enabling.resultset.rmi.ResultSetService; |
7 | 10 |
import eu.dnetlib.enabling.tools.ServiceResolver; |
... | ... | |
125 | 128 |
log.info(String.format("creting resultSet service stub (%s) with connectTimeout(%s), requestTimeout(%s)", service.getClass().getName(), connectTimeout, requestTimeout)); |
126 | 129 |
|
127 | 130 |
if(service instanceof Client) { |
131 |
log.info(String.format("setting timeouts for %s", Client.class)); |
|
128 | 132 |
final Client client = ClientProxy.getClient(service); |
129 | 133 |
final HTTPConduit http = (HTTPConduit) client.getConduit(); |
130 | 134 |
final HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); |
... | ... | |
134 | 138 |
httpClientPolicy.setReceiveTimeout(requestTimeout); |
135 | 139 |
|
136 | 140 |
http.setClient(httpClientPolicy); |
141 |
} else if (service instanceof BindingProvider) { |
|
142 |
log.info(String.format("setting timeouts for %s", BindingProvider.class)); |
|
143 |
final Map<String, Object> requestContext = ((BindingProvider) service).getRequestContext(); |
|
144 |
requestContext.put(BindingProviderProperties.REQUEST_TIMEOUT, requestTimeout); |
|
145 |
requestContext.put(BindingProviderProperties.CONNECT_TIMEOUT, connectTimeout); |
|
137 | 146 |
} |
147 |
|
|
138 | 148 |
return service; |
139 | 149 |
} |
140 | 150 |
|
Also available in: Unified diff
set the timeouts in case of javax.xml.ws.BindingProvider servince instances