我想从 wsdl 文件生成 java 代码

I want to generate java code from wsdl file

提问人:Hashini Udara 提问时间:11/10/2023 最后编辑:FilburtHashini Udara 更新时间:11/10/2023 访问量:53

问:

我随身携带了 .wsdl 文件

我需要从中生成以下文件。 -服务接口 -服务实施 -数据绑定类 -客户端和服务器存根类

我使用了下面的插件

<dependency>
  <groupId> jakarta.xml.ws </groupId>
  <artifactId> jakarta.xml.ws-api </artifactId>
  <version> 4.0.1 </version>
</dependency>

<plugin>
  <groupId> com.sun.xml.ws </groupId>
  <artifactId> jaxws-maven-plugin </artifactId>
  <version> 4.0.1 </version>
</plugin> 

并配置如下示例

<configuration>
  <wsdlDirectory> src/main/resources </wsdlDirectory>
  <wsdlFiles>
    <wsdlFile> hexingws.wsdl </wsdlFile>
  </wsdlFiles>
  <packageName> com.example.myproject </packageName>
  <sourceDestDir> src/main/java </sourceDestDir>
</configuration>

我运行

mvn jaxws:wsimport

它产生, -服务接口 -服务实施

但不生成其他 2 个文件, -数据绑定类 -客户端和服务器存根类

java soap wsdl maven 插件

评论


答:

0赞 Techie_Taks 11/10/2023 #1

您可以尝试检查以下片段是否有效吗?

<plugin>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>4.0.1</version>
    <executions>
        <execution>
            <goals>
                <goal>wsimport</goal>
            </goals>
            <configuration>
                <wsdlDirectory>src/main/resources</wsdlDirectory>
                <wsdlFiles>
                    <wsdlFile>hexingws.wsdl</wsdlFile>
                </wsdlFiles>
                <packageName>com.example.myproject</packageName>
                <sourceDestDir>src/main/java</sourceDestDir>
                <!-- Include binding files for data binding classes -->
                <bindingFiles>
                    <bindingFile>src/main/resources/your-binding-file.xml</bindingFile>
                </bindingFiles>
                <!-- Generate client and server stubs -->
                <genClient>true</genClient>
                <genServer>true</genServer>
            </configuration>
        </execution>
    </executions>
    <dependencies>
        <!-- Include the required dependencies -->
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.3.5</version>
        </dependency>
    </dependencies>
</plugin>

请确保将 your-binding-file.xml 替换为绑定文件的实际路径(如果有)。此外,请确保项目中包含所需的依赖项,例如 jaxws-rt。

评论

0赞 Hashini Udara 11/10/2023
我尝试了这种方法,但仍然存在一些问题。1) 我没有单独的绑定文件 2) <依赖>的位置无效 3) 运行后说@Techie_Taksmvn jaxws:wsimportNo WSDLs are found to process, Specify atleast one of the following parameters: wsdlFiles, wsdlDirectory or wsdlUrls.