Java - Apache CXF 从 Jar 加载 WSDL

标签 java resources load cxf

我正在使用 Apache CXF 连接到 SOAP API。我已将 WSDL 保存在 Eclipse 项目中,并且想要加载它。我的项目如下所示:

src
gen
resources +
          META-INF +
                   myWSDL.wsdl

如果我在驱动器根目录的路径中进行硬编码,则可以加载 WSDL:

static {
    URL url = null;
    try {
        url = new URL("file:/home/peter/workspace/project/resources/META-INF/myWSDL.wsdl");
        System.out.println(url);
    } catch (MalformedURLException e) {
       //blah
    }
}

但是,如果我尝试将 WSDL 作为资源加载,则会失败:

static {
    URL url = null;
    try {
                    url = MyServiceClass.class.getResource("/resource/META-INF/BFExchangeService.wsdl");

        System.out.println(url); //prints null
    } catch (MalformedURLException e) {
       //blah
    }
}

如何从我的项目(以及最终的 .jar)中加载 WSDL?

干杯,

皮特

最佳答案

Class.getResource类路径加载文件,因此您走在正确的轨道上。

因此,将您的 wsdl 存储在类路径上的某个位置,例如您的源文件夹,并将源文件夹视为“文件系统”的根目录,例如getResource("/myWSDL.wsdl")

HTH

关于Java - Apache CXF 从 Jar 加载 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5958019/

相关文章:

java - 从开始日期到结束日期的周数Java

ruby-on-rails - Rails 4 - 设置,在创建新用户时自动创建配置文件

AngularJS - 在加载任何 Controller 之前加载数据

silverlight - Silverlight 3 中合并资源字典的正确使用

windows - 右单撇号与撇号?

javascript - jQuery 的 load() 不显示图像

jquery - 在调整窗口大小之前,砌体无法工作

java - 在java小程序中使用数组命名图像文件

java - 应将哪个 Shell 传递给 WizardDialog 构造函数

java - 获取应用了类型参数的已实现接口(interface)的 Type 实例