Как получить доступ к методу wsdl при весенней загрузке?

Я получаю сообщение об ошибке ниже, когда вызываю службу мыла при весенней загрузке. Я использовал cxf wsdl2java для реализации сервисных методов. Я могу успешно импортировать wsdl в soap-ui. Но я не могу отправить почтовый запрос в сервис.

Есть мнение, как можно решить эту проблему?

@Bean("queryQuotaWebService")
public Endpoint queryQuotaEndpoint() {
       EndpointImpl endpoint = new EndpointImpl(bus, "#queryQuota");
       endpoint.setImplementorClass(QueryQuotaWebServiceImpl.class);
       endpoint.publish("/QueryQuotaWebService");
       return endpoint;
}
@Controller("queryQuota")
public class QueryQuotaWebServiceImpl implements QueryQuotaWebService {

   @Override
   public GetQuotaInfoResultBean getQuotaInfo(GetQuotaInfoInput parameters) 
   {
      try {
          return (GetQuotaInfoResultBean) pimsOperationExecutor.execute(parameters);
      } catch (MyException e) {
          throw new RuntimeException(e);
      }
   }
}
@WebService(targetNamespace = "http://webservice.mycompany.com.tr/", name = "QueryQuotaWebService")
@XmlSeeAlso({ObjectFactory.class})
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface QueryQuotaWebService {

@WebMethod
    @WebResult(name = "getQuotaInfoResponse", targetNamespace = "http://webservice.mycompany.com.tr/", partName = "parameters")
    public GetQuotaInfoResultBean getQuotaInfo(
        @WebParam(partName = "parameters", name = "getQuotaInfoInput", targetNamespace = "http://webservice.mycompany.com.tr/")
        GetQuotaInfoInput parameters
    );
}

Вот полный стек.

2019-05-22 16:22:21.339 WARN 1388 --- [nio-8081-exec-4] o.a.cxf.phase.PhaseInterceptorChain : Application {http://quota.thirdparty.mycompany.com/}QueryQuotaWebServiceImplService#{http://webservice.mycompany.com.tr/}getQuotaInfo has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: object is not an instance of declaring class while invoking public com.mycompany.thirdparty.quota.GetQuotaInfoResultBean com.mycompany.thirdparty.quota.QueryQuotaWebServiceImpl.getQuotaInfo(com.mycompany.thirdparty.quota.GetQuotaInfoInput) with params [com.mycompany.thirdparty.quota.GetQuotaInfoInput@256dd1f9]. at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166) ~[cxf-core-3.3.1.jar:3.3.1] at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267) ~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1] at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140) ~[cxf-core-3.3.1.jar:3.3.1] at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232) ~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1] at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85) ~[cxf-rt-frontend-jaxws-3.3.1.jar:3.3.1] at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74) ~[cxf-core-3.3.1.jar:3.3.1] at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[cxf-core-3.3.1.jar:3.3.1] at java.util.concurrent.Executors$RunnableAdapter.call$$$capture(Executors.java:511) ~[na:1.8.0_191] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java) ~[na:1.8.0_191] at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) ~[na:1.8.0_191] at java.util.concurrent.FutureTask.run(FutureTask.java) ~[na:1.8.0_191]

не могли бы вы вставить полную трассировку стека, как вы можете видеть в конце: «68 общих кадров пропущены». В нем не хватает 68 вещей.

Toerktumlare 22.05.2019 15:43

Я обновил журналы ошибок. Но пропущенная часть так же, как показано

N'bia 22.05.2019 15:54

что такое "pimsOperationExecutor" нигде не определено

Toerktumlare 22.05.2019 17:12

это не важно. Просто переменная Autowired.

N'bia 24.05.2019 13:58

Есть ли какой-нибудь пример wsdl2java с Springboot, который вы предлагаете?

N'bia 24.05.2019 13:59

@ThomasAndolf спасибо за ответ. Я нашел решение. Речь шла об использовании определения конечной точки. Я обновил ответ.

N'bia 24.05.2019 15:08

рад, что вы нашли проблему

Toerktumlare 25.05.2019 20:30
Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
7
228
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключалась в использовании определения конечной точки.

    @Autowired
    private Bus bus;

    @Bean("queryQuotaWebService")
    public Endpoint queryQuotaEndpoint() {
        EndpointImpl endpoint = new EndpointImpl(bus, new QueryQuotaWebServiceImpl());
        endpoint.publish("/QueryQuotaWebService");
        return endpoint;
    }

вот вся ссылка на код.

https://github.com/ekocbiyik/cxf-springboot

Другие вопросы по теме

SpringBoot 2.1.5.RELEASE - Thymeleaf - Страница входа
Как создать проект весенней загрузки из существующего проекта maven
Исключение при создании толстой банки для весеннего загрузочного приложения, которое зависит от другого проекта
Как использовать репозиторий данных spring для mongodb для извлечения данных из репозиториев mongo с динамическими именами полей?
Экспоненциальная отсрочка для бизнес-исключений при использовании реактивного spring-amqp?
Spring REST api OAuth2 проверяет токен с внешнего сервера авторизации
Spring Boot прочитал файл свойств из командной строки. Не удалось разрешить заполнитель «ConfigPath»
Как с помощью Spring Security перенаправить зарегистрированного пользователя на его главную страницу, а незарегистрированного пользователя на другую
Развернуть весеннее загрузочное приложение на tomcat, должен ли я заменить все URL-адреса моего приложения
Как убедиться, что аннотация @Scheduled присутствует в методе