【发布时间】:2020-12-03 07:42:41
【问题描述】:
我正在尝试为 Soap Web 服务实现客户端。我有一个 Spring Boot 应用程序,我使用 apache cxf 从 wsdl 生成了类。不知何故,我无法正确注入 bean 并使用它的方法。这是我的代码:
配置类:
@Bean(name = "myApiClient")
public GeneratedService myApiClient(MyCredentials credentials) {
JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
jaxWsProxyFactoryBean.setServiceClass(GeneratedService.class);
jaxWsProxyFactoryBean.setAddress(getUrl());
jaxWsProxyFactoryBean.setUsername(credentials.getUser());
jaxWsProxyFactoryBean.setPassword(credentials.getPassword());
return (GeneratedService) jaxWsProxyFactoryBean.create();
}
我的服务:
@Service
public class MyServiceImpl implements MyService {
GeneratedService myApiClient;
@Autowired
public MyServiceImpl(GeneratedService myApiClient) {
this.myApiClient = myApiClient;
}
@Override
public List<MyObject> someMethod() {
return myApiClient.someApiMethod();
}
}
我得到的错误:
构造函数 MyServiceImpl 的参数 0 需要一个 bean 类型 '...GeneratedService' 找不到。
【问题讨论】:
标签: spring-boot web-services cxf jax-ws wsdl2java