0

这是一个 wsdl 服务链接:http ://www.webservicemart.com/uszip.asmx?WSDL

如果我运行以下命令:

wsimport -s src -d bin http://www.webservicemart.com/uszip.asmx?WSDL

此命令在 /src 目录中生成 Java 源代码,并在 /bin 目录中编译 .class 文件,该目录相对于发出命令的目录。这些生成的类可用于访问远程 Web 服务。

通过发出以下命令,创建了一个 jar 文件 zipws.jar,其中包含 com.webservicemart.ws 包中的类:

  • 光盘 /bin
  • jar cvf zipws.jar com

我可以将此 jar 添加到我在 java 项目中的构建路径中并使用它。

有没有一种方法可以让我用 maven2 创建一个 java 项目并在 POM.xml 中指定这个 wsdl url 并将 jars 直接下载到我的本地机器中?如果您需要更多信息,请告诉我。

4

1 回答 1

6

您可以使用jaxws-maven-plugin

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.webservicemart.ws</groupId>
  <artifactId>uszip</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>com.sun.xml.ws</groupId>
      <artifactId>jaxws-rt</artifactId>
      <version>2.2.8</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.jvnet.jax-ws-commons</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
        <version>2.3</version>
        <executions>
          <execution>
            <goals>
              <goal>wsimport</goal>
            </goals>
            <configuration>
              <wsdlUrls>
                <wsdlUrl>http://www.webservicemart.com/uszip.asmx?WSDL</wsdlUrl>
              </wsdlUrls>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

wsdlUrls参数允许您指定 WSDL 文件的位置。与手动运行一样wsimport,在构建项目时会自动下载文件。

于 2013-10-18T18:45:07.937 回答