Я конвертирую клиент и службу JAX-RPC в JAX-WS и пытаюсь выяснить, как программно установить тайм-аут клиента. Это будет клиент JAX-WS 2.1, работающий в WebSphere 7. В JAX-RPC было свойство, которое я мог установить в SOAPBindingStub для установки времени ожидания.
В коде JAX-WS я попытался установить несколько свойств следующим образом, но не повезло:
PolicyFinderService policyFinderService = new PolicyFinderService();
PolicyFinder policyFinder = policyFinderService.getPolicyFinderSOAPPort();
((BindingProvider)policyFinder).getRequestContext().put(com.ibm.wsspi.websvcs.Constants.REQUEST_TIMEOUT_PROPERTY, 1);
((BindingProvider)policyFinder).getRequestContext().put(com.ibm.wsspi.websvcs.Constants.WRITE_TIMEOUT_PROPERTY, 1);
((BindingProvider)policyFinder).getRequestContext().put(com.ibm.wsspi.webservices.Constants.READ_TIMEOUT_PROPERTY, 1);
((BindingProvider)policyFinder).getRequestContext().put(com.ibm.wsspi.webservices.Constants.RESPONSE_TIMEOUT_PROPERTY, 1);
((BindingProvider)policyFinder).getRequestContext().put(com.ibm.wsspi.webservices.Constants.WRITE_TIMEOUT_PROPERTY, 1);
Ничто из этого не имеет никакого эффекта, когда я звоню, и служба не работает, она просто зависает для значения времени ожидания по умолчанию (я думаю, 5 минут) до истечения времени ожидания.
Кто-нибудь нашел способ программно установить это значение времени ожидания в WebSphere 7?