Для App Engine с JAX-WS вы должны установить контекст запроса (протестировано сегодня с SDK 1.9.15).Для обычных машин вы не можете перейти выше 60 с, и вам придется переключиться на более крупные машины (Bx) для лучшего использования очереди задач.
Для локального тестирования вы обычно используете BindingProviderProperties.CONNECT_TIMEOUT и BindingProviderProperties.REQUEST_TIMEOUT, ноих нет в белом списке JRE App Engine, и проверка кода может постоянно предупреждать вас об этом.Однако можно использовать эквивалентные строки:
com.sun.xml.internal.ws.connect.timeout
com.sun.xml.internal.ws.connect.timeout
Для развертывания в App Engine:
com.sun.xml.ws.connect.timeout
com.sun.xml.ws.request.timeout
Полный пример того, как применить это к автоматически сгенерированному коду из JAX-WS 2.x, значения должны быть указаны в миллисекундах:
@WebEndpoint(name = "Your.RandomServicePort")
public YourServiceInterface getYourRandomServicePort() {
YourRandomServiceInterface port = super.getPort(YOURRANDOMSERVICE_QNAME_PORT, YourRandomServiceInterface.class);
Map<String, Object> requestContext = ((BindingProvider)port).getRequestContext();
requestContext.put("com.sun.xml.ws.connect.timeout", 10000);
requestContext.put("com.sun.xml.ws.request.timeout", 10000);
return port;
}