Установка jax-ws клиентский тайм-аут

Я испытываю затруднения при установке jax-ws тайм-аута. Мой код:

@WebServiceClient(name = "VoipDBJDBCService", targetNamespace = "http://db.server.voipmeter.jextreme.eu/", wsdlLocation = "http://trace0.nyc.blinkmind.com:8080/voipdb?wsdl")
public class VoipDBJDBCService extends Service {
    public VoipDBJDBCService(URL wsdlLocation) {
        super(wsdlLocation, new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCService"));
    }

    @WebEndpoint(name = "VoipDBJDBCPort")
    public VoipDB getVoipDBJDBCPort() {
        return super.getPort(new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCPort"), VoipDB.class);
    }
}

И использование:

VoipDB db = new VoipDBJDBCService(new URL(url)).getVoipDBJDBCPort();

Как делают меня Hook в тайм-аутах? Я нашел "решение" здесь: https://jax-ws.dev.java.net/guide/HTTP_Timeouts.html, но я не знаю, где я сцеплю его в. Как получить прокси? Когда я называю getPort клиентские попытки соединиться, и затем зависает навсегда, если сервер не отвечает.

ОБНОВЛЕНИЕ: Этот код вызывается из апплетов init () метод, если это имеет какое-либо значение.

12
задан Lukasz 28 June 2010 в 09:28
поделиться

2 ответа

Вы можете преобразовать свой объект VoipDB в BindingProvider . Итак, в примере в приведенной вами ссылке просто замените прокси на db , и все готово.

0
ответ дан 2 December 2019 в 22:51
поделиться

Если вы используете Sun JRE, вы можете установить следующие системные свойства для подключения к сети по умолчанию и таймаутов чтения (в миллисекундах). Я не пробовал их с клиентом JAX-WS, но они должны работать и там:

sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout

Дополнение: я пропустил вашу последнюю часть вопроса, где вы сказали, что делаете это в апплете. Если апплет работает с разрешениями по умолчанию, вам, вероятно, не разрешено устанавливать системные свойства.

1
ответ дан 2 December 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: