как генерировать заглушки WSDL с помощью Джакарты с помощью Maven

Мне нужно создать Java-файлы из файла с Джакартой. Я использую Java 20

Я использовал зависимость Джакарты и плагин ниже и запустилmvn clean install

Вот часть моего.wsdlфайл

      ---

<wsdl:binding name="HexingWsServiceSoapBinding" type="tns:HexingWs">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="trans">
      <soap:operation soapAction="" style="rpc"/>
      <wsdl:input name="trans">
        <soap:body namespace="http://service.ws.tangdi/" use="literal"/>
      </wsdl:input>
      <wsdl:output name="transResponse">
        <soap:body namespace="http://service.ws.tangdi/" use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="HexingWsService">
    <wsdl:port binding="tns:HexingWsServiceSoapBinding" name="HexingWsPort">
      <soap:address location="http://-------------------------"/>
    </wsdl:port>
  </wsdl:service>
      <dependency>
            <groupId>jakarta.xml.ws</groupId>
            <artifactId>jakarta.xml.ws-api</artifactId>
            <version>4.0.1</version>
        </dependency>
      <plugin>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>4.0.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <wsdlDirectory>Development/middle-ware/utility/src/main/resources/</wsdlDirectory>
                    <wsdlFiles>
                        <wsdlFile>hexingws.wsdl</wsdlFile>
                    </wsdlFiles>
                    <packageName>com.omo.robi.ThirdpartyRequest.webservice</packageName>
                    <sourceDestDir>
                        Development/middle-ware/utility/src/main/java/
                    </sourceDestDir>
                </configuration>
            </plugin>

Java-файлы не создаются с помощью этого метода. у меня путаница в написании<sourceDestDir>и<packageName>атрибуты

Я хотел бы знать, какую ошибку я здесь совершил и есть ли какие-либо другие способы сделать это.

Есть ли способ сделать это с помощью Apache Axis?

поскольку я новичок, если кто-нибудь сможет объяснить это шаг за шагом, мне это будет очень полезно.

1 ответ

Приведенная ниже документация и несколько изменений в pom.xml решили проблему.

Добавлены зависимости Джакарты в pom.

Добавлен следующий плагин в pom.

      <plugin>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>4.0.1</version>
<executions>
    <execution>
        <goals>
            <goal>wsimport</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <wsdlDirectory>${project.basedir}/src/main/resources/</wsdlDirectory>
    <packageName>com.baeldung.soap.ws.client</packageName>
    <sourceDestDir>
        ${project.build.directory}/generated-sources/
    </sourceDestDir>
</configuration>

Измените значения


и

      wsdlDirectory

недвижимость по вашему проекту.

Затем запустите

      mvn clean install

Сгенерированные классы можно найти в том месте, которое настроено в файле

      packageName

свойство.

Используйте совместимые версии для вашего проекта.

Здесь я разместил ссылку на документ для дальнейшего изучения.

ссылка на документ

надеюсь, это поможет кому-то :)

Другие вопросы по тегам