Я пытаюсь использовать fuelsdk в среде osgi в AEM. Я получаю эту ошибку -java.lang.ClassCastException: com.sun.xml.internal.ws.client.sei.SEIStub нельзя отнести к org.apache.cxf.frontend.clientproxy AEM OSGi
java.lang.ClassCastException: com.sun.xml.internal.ws.client.sei.SEIStub не может быть приведен к org.apache.cxf.frontend.ClientProxy
Это потому что OSGi загружает системный пакет перед пакетом, в который встроена зависимость fuelsdk. Пакет разрешается; эта ошибка во время выполнения.
Как заставить загрузчик классов OSGi выбрать org.apache.cxf.frontend.ClientProxy вместо com.sun.xml.internal.ws.client.sei.SEIStub во время выполнения?
Могу ли я использовать комбинацию директивы 'uses'; и/или импортировать/экспортировать пакеты?
Я предложил создать клиент с помощью -
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(HelloWorld.class);
factory.setAddress("http://localhost:9000/helloWorld");
soapClient = (Client) factory.create();
Я хотел бы знать, какой класс я должен использовать в factory.setServiceClass();
и
, какой адрес следует использовать в factory.setAddress(); это адрес конечной точки? - https://webservice.s6.exacttarget.com/Service.asmx
Помощь высоко ценится Благодаря
К сожалению, это не имеет никакого эффекта. Ошибка в этой строке: soapClient = ClientProxy.getClient (мыло); Ошибка во время выполнения; пакет правильно решает. java.lang.ClassCastException: com.sun.xml.internal.ws.client.sei.SEIStub не может быть передан в org.apache.cxf.frontend.ClientProxy Могу ли я заставить загрузчик классов загрузить org.apache.cxf.frontend.ClientProxy вместо com.sun.xml.internal.ws.client.sei.SEIStub только для этого пакета? – cqsapientuser
Спасибо за предложение подхода; хотя сейчас мы получаем новую ошибку, но это помогло двигаться вперед. А также узнал о новой вещи, связанной с OSGi. – cqsapientuser