Вы можете упаковать сгенерированные классы wsdl2java в виде файла jar, добавить его в путь к классам и затем инициировать класс @WebMethod
для вызова службы.
См. Раздел «Кодирование клиента» в документации здесь
Я полагаю, вы могли бы сделать что-то подобное.
UserServiceImplService serviceImpl = new UserServiceImplService();
UserService service = serviceImpl.getUserServiceImplPort();
UserRequest userRequest = new UserRequest();
userRequest.setFirstName("Tom");
userRequest.setLastName("Jerry");
User user = service.addUser(userRequest);
здесьэто пример https://github.com/nkumarclm/jax-ws-example jaxws для вашей справки.
Кроме того, другой способ - использовать jaxws-maven-plugin в вашем pom.xml
, чтобы вы могли сохранить wsdlскопируйте локально и сгенерируйте все необходимые артефакты.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>web-services</id>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>${basedir}/src/main/resources/wsdl/</wsdlDirectory> //location of your wsdl folder
<wsdlFiles>
<wsdlFile>user.wsdl</wsdlFile> //wsdl file name
</wsdlFiles>
<sourceDestDir>${basedir}/src/generated/java</sourceDestDir>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>
, тогда вы можете просто автоматически связать класс @WebMethod
и вызвать метод addUser
.