【发布时间】:2019-01-11 00:41:20
【问题描述】:
我正在尝试将遗留项目迁移到 Spring Boot。我一直在努力解决一个自动生成的课程。请参阅下面为 Web 服务提供接口的原始类。
/**
* This class was generated by the JAX-WS RI. JAX-WS RI 2.2.9-b130926.1035 Generated source version: 2.2
*
*/
@WebServiceClient(name = "SomeWebService", targetNamespace = "http://www.somewebservice.com")
public class SomeWebService extends Service {
private final static URL SomeWebService_WSDL_LOCATION;
private final static WebServiceException SomeWebService_EXCEPTION;
private final static QName SomeWebService_QNAME = new QName("http://www.somewebservice.com", "SomeWebService");
static {
URL url = null;
WebServiceException e = null;
try {
url = new URL(DataAccessLayer.systemProps.getProperty("configurable_service_url"));
} catch (MalformedURLException ex) {
e = new WebServiceException(ex);
}
SomeWebService_WSDL_LOCATION = url;
SomeWebService_EXCEPTION = e;
}
public SomeWebService() {
super(__getWsdlLocation(), SomeWebService_QNAME);
}
public SomeWebService(WebServiceFeature... features) {
super(__getWsdlLocation(), SomeWebService_QNAME, features);
}
public SomeWebService(URL wsdlLocation) {
super(wsdlLocation, SomeWebService_QNAME);
}
public SomeWebService(URL wsdlLocation, WebServiceFeature... features) {
super(wsdlLocation, SomeWebService_QNAME, features);
}
public SomeWebService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public SomeWebService(URL wsdlLocation, QName serviceName, WebServiceFeature... features) {
super(wsdlLocation, serviceName, features);
}
/**
*
* @return returns SomeWebService
*/
@WebEndpoint(name = "SomeWebServicePort")
public SomeWebService getSomeWebServicePort() {
return super.getPort(new QName("http://www.somewebservice.com", "SomeWebServicePort"), SomeWebService.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in
* the <code>features</code> parameter will have their default values.
* @return returns SomeWebService
*/
@WebEndpoint(name = "SomeWebServicePort")
public SomeWebService getSomeWebServicePort(WebServiceFeature... features) {
return super.getPort(new QName("http://www.somewebservice.com", "SomeWebServicePort"), SomeWebService.class, features);
}
private static URL __getWsdlLocation() {
if (SomeWebService_EXCEPTION != null) {
throw SomeWebService_EXCEPTION;
}
return SomeWebService_WSDL_LOCATION;
}
}
请注意以下行:
url = new URL(DataAccessLayer.systemProps.getProperty("configurable_service_url"));
这是它在旧代码中的配置方式,在静态块中... 我做的第一件事是添加一个配置类来从文件中获取属性,如下所示:
@Configuration
@PropertySource({"classpath:someWebservice.properties"})
public class SomeWebserviceConfiguration {
}
但是,我无法找到一种方法来创建一个 bean(一个 url),然后在构造函数中使用该 bean。 有人可以给我一些想法或指出我正确的方向吗?非常感谢!
【问题讨论】:
标签: spring spring-boot configuration