let trimmedString = " abc ".trimmingCharacters(in: .whitespaces)
//trimmedString == "abc"
Для тех, кто все еще приезжает для решения сюда, самое легкое решение состояло бы в том, чтобы использовать <wsdlLocation>
, не изменяя кода. Рабочие шаги даны ниже:
src/main/resource
В файле англичанина, добавьте и wsdlDirectory и wsdlLocation (не отсутствуйте / в начале wsdlLocation), как ниже. В то время как wsdlDirectory используется, чтобы сгенерировать код, и wsdlLocation используется во времени выполнения для создания динамического прокси.
<wsdlDirectory>src/main/resources/mydir</wsdlDirectory>
<wsdlLocation>/mydir/my.wsdl</wsdlLocation>
Затем в Вашем коде Java (с конструктором без аргументов):
MyPort myPort = new MyPortService().getMyPort();
Для полноты, я обеспечиваю здесь полную часть генерации кода с быстрым 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>