我们正在从存储库管理我们的wsdl,为了防止在本地复制wsdl并且不同步,我们设置了客户端(和服务)poms,以便在构建时从URL中提取。
问题是客户端jar不包含其META-INF文件夹中的wsdls。每当我们尝试使用客户端来调用我们的服务时,我们都会收到此错误:
08/22/2013@10:24 FATAL - 2 counts of InaccessibleWSDLException.
com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of
InaccessibleWSDLException.
java.io.IOException: Server returned HTTP response code: 401 for URL: "Repo-url"
java.io.IOException: Server returned HTTP response code: 401 for URL: "Repo-url"
以下是使用wsimport的pom部分:
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<extension>true</extension>
</configuration>
</execution>
</executions>
<configuration>
<xauthFile>${basedir}/resources/authFile.txt</xauthFile>
<wsdlUrls>
<wsdlUrl>"Repo-url"</wsdlUrl>
</wsdlUrls>
<bindingFiles>
<bindingFile>${basedir}/resources/binding.xjb.xml</bindingFile>
</bindingFiles>
<keep>true</keep>
</configuration>
</plugin>
在构建这种方式时,如何告诉插件还将wsdl包含在jar文件夹中?
答案 0 :(得分:0)
您可以在客户端尝试使用此注释。
@WebServiceClient(name = "WSClient", targetNamespace = "http://yournamespace.com", wsdlLocation ="META-INF/wsdl/WSClient.wsdl"