Я использую Apache CXF 3.2.7 в своем веб-приложении для клиента веб-службы SOAP.Я сгенерировал клиента через wsdl2java и повторно использую порт для вызова.Странное поведение заключается в том, что при первом вызове (и только при первом вызове) клиент запрашивает много времени для отправки запроса SOAP.Это занимает 20-30 секунд !!!
private void init() {
if (port != null)
return;
// initialize the client
}
public void call() {
init();
long start = System.currentTimeMillis();
ResponseObject wsResponse = port.getSomething(...);
long elapsed = System.currentTimeMillis()- start;
}
Анализ некоторых журналов Я заметил, что port.getSomething () требует много времени ПЕРЕД отправкой SOAP-запроса.Следующие вызовы очень-очень быстрые.
В поисках гугла Я прочитал несколько статей об этой проблеме, и это кажется "особенностью" CXF, но я не понимаю, есть ли обходной путь
PS:На мой взгляд, это своего рода "ошибка", потому что 20-30 секунд - это "смешное" время для современного оборудования ...
Спасибо, Андреа