У меня есть вопрос, связанный с cxf-rt-rs-client-3.3.1.
Справочная информация: я работаю над устаревшим приложением, которое использует jersey-client-2.7 для запросов http, поскольку jersey-client-2.7 не поддерживает метод HTTP PATCH, мы используем cxf-rt-rs-client-3.3.1.
И HTTP PATCH начал работать без каких-либо изменений после включения cxf-rt-rs-client-3.3.1.jar в нашем пути к классам вместе с его зависимостями.
Причина:
javax.ws.rs.client.FactoryFinder.java имеет следующий фрагмент кода
String serviceId = "META-INF/services/“ + factoryId;
javax.ws.rs.client.ClientBuilder.javaимеет следующий фрагмент кода
Object delegate = FactoryFinder.find("javax.ws.rs.client.ClientBuilder", "org.glassfish.jersey.client.JerseyClientBuilder");
Поскольку cxf-rt-rs-client-3.3.1 в пути к классам вместе с jersey-client-2.7, приоритет отдается cxf-rt-rs-client-3.3.1.
И мы используем передачу org.glassfish.jersey.client.ClientConfig в javax.ws.rs.client.ClientBuilder
Фрагмент кода:
ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ApacheClientProperties.SSL_CONFIG, sslConfigurator);
ConnectorProvider connectorProvider = new ApacheConnectorProvider();
clientConfig.connectorProvider(connectorProvider);
verifyingClient = ClientBuilder.newBuilder()
.withConfig(clientConfig).build();
Вопрос:
Можно ли использовать конкретный класс джерси org.glassfish.jersey.client.ClientConfig вместе с javax.ws.rs.client.ClientBuilder?
Пожалуйста, вернитесь назад при первой возможности.
Спасибо