Клиент JAX-WS: какой правильный путь для доступа к локальному WSDL?

Swift 5 & amp; 4.2

let trimmedString = " abc ".trimmingCharacters(in: .whitespaces)
 //trimmedString == "abc"
81
задан ROMANIA_engineer 9 August 2017 в 18:56
поделиться

1 ответ

Для тех, кто все еще приезжает для решения сюда, самое легкое решение состояло бы в том, чтобы использовать <wsdlLocation>, не изменяя кода. Рабочие шаги даны ниже:

  1. Помещенный Ваш wsdl для выделения ресурсов на каталог как: src/main/resource
  2. В файле англичанина, добавьте и wsdlDirectory и wsdlLocation (не отсутствуйте / в начале wsdlLocation), как ниже. В то время как wsdlDirectory используется, чтобы сгенерировать код, и wsdlLocation используется во времени выполнения для создания динамического прокси.

    <wsdlDirectory>src/main/resources/mydir</wsdlDirectory>
    <wsdlLocation>/mydir/my.wsdl</wsdlLocation>
    
  3. Затем в Вашем коде Java (с конструктором без аргументов):

    MyPort myPort = new MyPortService().getMyPort();
    
  4. Для полноты, я обеспечиваю здесь полную часть генерации кода с быстрым API в сгенерированном коде.

    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>2.5</version>
    
    <dependencies>
        <dependency>
            <groupId>org.jvnet.jaxb2_commons</groupId>
            <artifactId>jaxb2-fluent-api</artifactId>
            <version>3.0</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-tools</artifactId>
            <version>2.3.0</version>
        </dependency>
    </dependencies>
    
    <executions>
        <execution>
            <id>wsdl-to-java-generator</id>
            <goals>
                <goal>wsimport</goal>
            </goals>
            <configuration>
                <xjcArgs>
                    <xjcArg>-Xfluent-api</xjcArg>
                </xjcArgs>
                <keep>true</keep>
                <wsdlDirectory>src/main/resources/package</wsdlDirectory>
                <wsdlLocation>/package/my.wsdl</wsdlLocation>
                <sourceDestDir>${project.build.directory}/generated-sources/annotations/jaxb</sourceDestDir>
                <packageName>full.package.here</packageName>
            </configuration>
        </execution>
    </executions>
    

0
ответ дан 24 November 2019 в 09:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: