@WebService(targetNamespace = "http://zonepower.com/")
配置@WebService的targetNamespace需要读取配置文件中的值而非在代码中写死该如何实现呢?
@WebService(targetNamespace = "http://zonepower.com/")
配置@WebService的targetNamespace需要读取配置文件中的值而非在代码中写死该如何实现呢?
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答749 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
我感觉是做不到的。
不过如果要做到动态化这点,需要调整注解
@WebService
的运行时机。至少是
RetentionPolicy.RUNTIME
形式。UPDATE
先不论题主是否已经找到其他方式来完成这样的需求,不一定是从注解的角度去解决的。
我这里把我的思路说下,下面的代码中会用
Holder
注解模拟WebService
注解的行为来说明。首先需要另外一个
Hacker
注解用于解析到目标URL(目标endPoint),当然也可以是另外的方式,这里只是保持注解的解法。在原来的类上只设置
Hacker
注解,再通过动态解析的方式从Hacker
注解解析到目标URL,利用这个URL构造一个Holder
注解,最后加到原来的类上面。(先看结论!!!)Holder注解
Hacker注解
ExamplePojo 普通POJO类
测试主类
结论
上述解法无效!!!
附
参考链接:
[1] http://ayoubelabbassi.blogspot.jp/2011/01/how-to-add-annotations-at-runtime-to.html
[2] http://prismoskills.appspot.com/lessons/Super_Java/Dynamically_adding_annotations.jsp