Java - Apache CXF Загрузить WSDL из Jar - PullRequest
2 голосов
/ 11 мая 2011

Я использую 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
    }
}

Как загрузить WSDL из моего проекта (и, в конечном итоге, из моего .jar)?

Cheers,

Пит

1 Ответ

3 голосов
/ 11 мая 2011

Class.getResource загружает файл из classpath , поэтому вы на правильном пути.

Итак, сохраните ваш wsdl где-нибудь на вашем пути к классам, например, в вашей исходной папке, и рассматривайте исходную папку как корень «файловой системы», например, getResource("/myWSDL.wsdl")

HTH

...