Пример HTTPS-клиента Cxf - PullRequest
       16

Пример HTTPS-клиента Cxf

3 голосов
/ 10 мая 2010

Мне нужен клиент Cxf, который может работать с HTTPS wsdl url. Документация cxf не очень большая, поэтому я был бы признателен за помощь.

Есть ли какой-нибудь пример того, что я хочу? Google сегодня не мой друг: (

Спасибо за помощь.


EDIT1: Я просто не знаю, как это сделать. Когда я пытаюсь:

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setAddress("https://mysite/view/ext-services/dpDataService?wsdl");
factory.setServiceClass(DPDataService.class);
DPDataService client = (DPDataService) factory.create();
client.getAllHostServiceMetric("1", "1");

У меня ошибка:

 Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Could not find conduit initiator for transport 

edit2:

с:

factory.setWsdlURL

у меня ошибка:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

EDIT3:

Я создаю хранилище ключей и добавляю сертификат, затем устанавливаю свойство:

System.setProperty("javax.net.ssl.trustStore", "myKeyStore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");

Но теперь ошибка - исключение в потоке "main" org.apache.cxf.service.factory.ServiceConstructionException: Could not find definition for service {http://unknown.namespace/}

я вижу, что консоль говорит: создание службы {http://unknown.namespace/}

может я что-то забыл.


EDIT4: много новостей:

Кажется, что https больше не является проблемой. но мне все еще нужна помощь:)

Так вот с этим кодом:

JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        Client client = factory.createClient("https://url/services?wsdl");
Object[] res = client.invoke("getSomething", "param");

У меня ошибка:

Caused by: org.xml.sax.SAXParseException: Both jaxb:version and version are present

Другой код:

ClientProxyFactoryBean

=> какая-то ошибка

с: JaxWsProxyFactoryBean + setWsdlURL

Could not find definition for service {http://unknown.namespace/}DPDataServiceService.
...