Project

General

Profile

« Previous | Next » 

Revision 46019

set the timeouts in case of javax.xml.ws.BindingProvider servince instances

View differences:

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