Возможно, это старый вопрос. Я потребляю сервисы SOAP. Я создаю порт, как показано ниже, и имя класса, как это SOAPClient<T extends Service, V>
.
public V getPort(Class<T> service, Class<V> portType, String endPoint) throws Exception {
URL url = new URL(endPoint)
Constructor<T> constructor = service.getConstructor(new Class[] { URL.class });
T t = constructor.newInstance(url);
V port = t.getPort(portType);
setTimeouts(port);
setEndPoint(url, port);
return port;
}
, а метод setTimeOuts имеет следующий код, они не работают. Я пытался искать различные варианты, такие как BindingProviderProperties.CONNECT_TIMEOUT. Но не повезло.
private void setTimeouts(V port) {
Map requestCtx = ((BindingProvider) port).getRequestContext();
requestCtx.put("com.sun.xml.internal.ws.connect.timeout", 10000);
requestCtx.put("com.sun.xml.internal.ws.request.timeout", 10000);
}
Может ли кто-нибудь помочь мне в этом (я делаю какие-либо работы здесь). Кстати, я использую Gradle для создания своего проекта.