加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用配置文件动态获取WebService地址

发布时间:2020-12-16 23:11:05 所属栏目:安全 来源:网络整理
导读:请看MyService.java中片段代码(由wsimport工具自动生成) 1 static { 2 URL url = null ; 3 WebServiceException e = 4 try { 5 url = new URL("http://localhost:8080/Demo/services/MyService?wsdl"); // 硬编码 6 } catch (MalformedURLException ex) {

请看MyService.java中片段代码(由wsimport工具自动生成)

复制代码

 1 static {
2 URL url = null;
3 WebServiceException e = 4 try {
5 url = new URL("http://localhost:8080/Demo/services/MyService?wsdl"); //硬编码
6 } catch (MalformedURLException ex) {
7 e = new WebServiceException(ex);
8 }
9 MYSERVICE_WSDL_LOCATION = url;
10 MYSERVICE_EXCEPTION = e;
11 }

复制代码

如果程序中"http://localhost:8080/Demo/services/MyService?wsdl"标红部分发生改变,是否需要我们使用wsimport工具重新生成客户端呢?答案当然是不允许,也是不行的,你懂的。

解决方法:地址通过读取配置文件来获得,地址如果发生变动,只需要修改配置文件,程序无需修改!

新建文件PropertiesConfig.java

import java.util.Properties;
2 import java.io.FileInputStream;
3 public class PropertiesConfig {
4
5 static String site;
6
7 static String getSite(){
8 Properties p = new Properties();
9 try{
10 p.load(new FileInputStream("src/general.properties"));
11 }catch(Exception e){
12 e.printStackTrace();
13 }
14 site = p.getProperty("webservice_site");
15 return site;
16 }
17 }
新建配置文件general.properties

1 webservice_site = http:localhost:8080/Demo/services/MyService

修改MyService.java

3 String str = PropertiesConfig.getSite();新增 4 WebServiceException e = 5 6 url = new URL(str+"?wsdl");修改 7 } 8 e = 9 }
10 MYSERVICE_WSDL_LOCATION = url;
11 MYSERVICE_EXCEPTION = e;
12 }
测试Test.java

class Test {
2
3 /** 4 * @param args
5 */
6 static void main(String[] args) {
7 TODO Auto-generated method stub 8 MyService server = new MyService();
9 MyServicePortType spt = server.getMyServiceHttpPort();
10 System.out.println(spt.example("hello"));
11 }
12
13 }

复制代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读