当wsdl来自url时,Wsimport不包括客户端jar中的wsdl

时间:2013-08-22 16:05:09

标签: java wsdl wsimport

我们正在从存储库管理我们的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文件夹中?

1 个答案:

答案 0 :(得分:0)

您可以在客户端尝试使用此注释。

@WebServiceClient(name = "WSClient", targetNamespace = "http://yournamespace.com", wsdlLocation ="META-INF/wsdl/WSClient.wsdl"