java - 如何为 Jira WADL 生成 Java 客户端?

标签 java rest cxf jira wadl

全部

我尝试从 Jira wadl 描述符生成 Java 客户端,但它不起作用: java.lang.IllegalStateException:需要单个 WADL 资源元素

使用的 WADL 文件:https://docs.atlassian.com/jira/REST/7.0.4/jira-rest-plugin.wadl

使用的构建:

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-wadl2java-plugin</artifactId>
                <version>3.1.9</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
                            <wadlOptions>
                                <wadlOption>
                                    <wadl>${basedir}/src/main/resources/jira-rest-plugin.wadl</wadl>
                                    <impl>true</impl>

                                    <packagename>com.mycompany.jira</packagename>
                                    <schemaPackagenames>
                                       <schemaPackagename>http://mycompany=com.mycompany.jira.schema</schemaPackagename>
                                    </schemaPackagenames>

                                </wadlOption>
                            </wadlOptions>
                        </configuration>
                        <goals>
                            <goal>wadl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

我希望他们能够在 7.x 中修复 WADL ...

有人让它发挥作用吗?

最佳答案

它看起来不像有效的 WADL 文件,它解释了各个服务以及输入、输入格式。要使 wadl2java 插件正常工作,您需要具有类似于如下所示语法的 WADL 文件。

<application xmlns="http://research.sun.com/wadl/2006/10">
    <doc xmlns:jersey="http://jersey.dev.java.net/" 
            jersey:generatedBy="Jersey: 1.0-ea-SNAPSHOT 10/02/2008 12:17 PM"/>
    <resources base="http://localhost:9998/storage/">
        <resource path="/containers">
            <method name="GET" id="getContainers">
                <response>
                    <representation mediaType="application/xml"/>
                </response>
            </method>
            <!-- Next methods ->
        </resource>
     </resources>
  </application>

我想您唯一的方法是联系 atlassian 提供有效的 WADL 文件(如果支持),否则您可能需要使用自上而下的方法并实现您共享的链接中所示的语法

关于java - 如何为 Jira WADL 生成 Java 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41742018/

相关文章:

java - 在哪里将第三方 *.java 文件包含到我的 Android 应用程序中?

Java如何获取没有全名的文件

java - Android EditText 符号必须保持在初始位置

java - SublimeText3 无法识别 Scanner 类

php - 任何类似于 Recess 的 PHP Rest 框架?

php - Wamp 服务器——无法执行任何 PHP Rest API

java - 如何使用Spring Boot处理Rest API中的异常

java - 我需要在 Eclipse 项目中配置什么来修复不正确的 “The import XXX cannot be resolved”

web-services - 在哪个 XML 中插入 RemoteAddrValve 过滤器?

cxf - Apache CXF wadl2java 找不到主类 WADLToJava