在 spring boot 中使用可变 wsdllocation 字段
在 spring boot 中的 @webserviceclient 注解中,wsdllocation 字段通常用于指定 wsdl 文件的地址。然而,在不同的环境(如测试和生产)中使用不同的地址是很常见的。本文将介绍如何将 wsdllocation 字段配置为变量,以便在不同的环境中使用不同的地址。
首先,创建一个类,用于从配置文件中读取 wsdllocation 值,并添加 @component 注解使其成为 spring bean:
@component("contextconfig") public class contextconfig { @value("${wsdllocation}") public string wsdllocation; }
登录后复制
接下来,在配置文件中指定 wsdllocation 值:
green_enterprise_server_ws_url: https://aquavn-tt78admindemo.vnpt-invoice.com.vn/publishservice.asmx?wsdl
登录后复制
在需要使用 wsdllocation 的地方,注入 contextconfig bean,并使用 wsdllocation 字段:
@resource(name = "contextconfig") contextconfig contextconfig; url wsdllocation = new url(contextconfig.wsdllocation);
登录后复制
这样,wsdllocation 字段就可以根据配置文件中的值进行修改,从而在不同的环境中使用不同的 wsdl 文件地址。需要注意的是,需要使用代码的方式创建 service 对象,并手动指定 wsdllocation 和 servicename 等参数:
URL wsdlLocation = new URL(contextConfig.wsdlLocation); QName serviceName = new QName("http://example.org/sample", "MyService"); Service service = Service.create(wsdlLocation, serviceName);
登录后复制
以上就是Spring Boot 中如何动态配置 @WebServiceClient 注解的 wsdlLocation 字段?的详细内容,更多请关注其它相关文章!