как генерировать заглушки 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
свойство.
Используйте совместимые версии для вашего проекта.
Здесь я разместил ссылку на документ для дальнейшего изучения.
надеюсь, это поможет кому-то :)