Как генерировать заглушки SOAP в Java?

Я впервые работаю с интерфейсом SOAP.

У меня есть WSDL, из которого я полагаю генерировать классы-заглушки.

Я использую axistools-maven-plugin, но не все классы были сгенерированы. Например, ConnectWithToken не присутствовал в сгенерированных заглушках.

Мой pom.xml plugins раздел:

<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <version>${axis.version}</version>
    <configuration>
      <urls>
        <url>https://api.e-conomic.com/secure/api1/EconomicWebService.asmx?WSDL</url>
      </urls>
      <outputDirectory>${basedir}/src/main/java</outputDirectory>
      <subPackageByFileName>true</subPackageByFileName>
      <verbose>true</verbose>
      <allElements>true</allElements>
      <indentSize>4</indentSize>
    </configuration>
  </plugin>
</plugins>

Могу ли я сгенерировать все классы, указанные в wsdl, используя вышеуказанный плагин?


person Dmytro Chasovskyi    schedule 05.08.2019    source источник
comment
проверьте отсюда: stackoverflow.com/questions/18338196/   -  person Kannan Palani    schedule 05.08.2019


Ответы (1)


Мое решение состояло в том, чтобы изменить поставщика генератора классов SOAP. QA очень помог, но мне пришлось принять решение на основе документации и проекта плагина jaxws-maven-plugin.

pom.xml раздел зависимостей:

<dependency>
      <groupId>com.sun.xml.ws</groupId>
      <artifactId>jaxws-rt</artifactId>
      <version>2.2.10</version>
</dependency>

pom.xml раздел сборки:

<build>
    <plugins>

        <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.5</version>
                <executions>
                    <execution>
                        <id>generate-source-by-wsdl</id>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                        <phase>generate-sources</phase>
                        <configuration>
                            <vmArgs>
                                <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
                            </vmArgs>
                            <wsdlUrls>
                                <wsdlUrl>https://api.e-conomic.com/secure/api1/EconomicWebService.asmx?WSDL</wsdlUrl>
                            </wsdlUrls>
                            <sourceDestDir>src/main/java</sourceDestDir>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

    </plugins>
</build>
person Dmytro Chasovskyi    schedule 06.08.2019