Как сделать ссылку на файл .wsdl в папке src / main / resources? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть веб-служба SOAP, которую я извлекаю из .wsdl с помощью wsimport

Теперь при открытии сгенерированного файла у меня есть ссылка file://, которую мне нужно удалить.

Я переместил WSDL в src/main/resources/Services/RecherchePoint-v2.0.wsdl

Но теперь у меня есть несколько ссылок, которые я не знаю, как обновить:

@WebServiceClient(name = "RecherchePointV2.0", targetNamespace = "http://www.enedis.fr/sge/b2b/services", wsdlLocation = "file:/home/ubuntu/wsdl/Services/RecherchePoint/RecherchePoint-v2.0.wsdl")

...

static {
        URL url = null;
        WebServiceException e = null;
        try {
            url = new URL("file:/home/ubuntu/wsdl/Services/RecherchePoint/RecherchePoint-v2.0.wsdl");
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }
        RECHERCHEPOINTV20_WSDL_LOCATION = url;
        RECHERCHEPOINTV20_EXCEPTION = e;
    }

Я попытался изменить:

file:/home/ubuntu/wsdl/Services/RecherchePoint/RecherchePoint-v2.0.wsdl"

до

../../../resources/wsdl/Services/RecherchePoint/RecherchePoint-v2.0.wsdl"

но он не работает.

Есть идеи, как это изменить?

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Вы можете использовать org.springframework.core.io.ClassPathResource

/**
 * {@link Resource} implementation for class path resources. Uses either a
 * given {@link ClassLoader} or a given {@link Class} for loading resources.
 *
 * <p>Supports resolution as {@code java.io.File} if the class path
 * resource resides in the file system, but not for resources in a JAR.
 * Always supports resolution as URL.
 *
 */

new ClassPathResource("Services/RecherchePoint-v2.0.wsdl")

Здесь некоторые пояснения.

0 голосов
/ 24 октября 2019

вы можете поместить файл в Ресурсы, и вы можете использовать загрузчик классов, чтобы получить файл

ClassLoader classLoader = getClass().getClassLoader();  
File file = new File(classLoader.getResource("RecherchePoint-v2.0.wsdl").getFile());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...