17

我创建了一个 hello world REST 服务,现在我想生成 WADL 文件。

我环顾四周,发现我可以通过调用:

http://localhost:8090/application.wadl

但是我没有得到任何东西。我正在使用带有 Eclipse Indigo 的 Jersey 1.7 并在 Apache 7 上运行

我也试过打电话:

http://localhost:8090/<myapplicattion_name>.wadl但仍然没有结果。

Jersey 1.7 是否支持此功能?如果是,我做错了什么?

web.xml 文件如下所示:

在此处输入图像描述

谢谢

4

2 回答 2

29

您的应用程序在 Apache 中的名称是什么,即“上下文”?假设名称是“restApp”。尝试这个:

http://localhost:8090/restApp/application.wadl

或者,如果您的 servlet 映射是:

<servlet-mapping>
  <servlet-name>RESTService</servlet-name>
  <url-pattern>/company/rest/*</url-pattern>
</servlet-mapping>

..这将是:

http://localhost:8090/restApp/company/rest/application.wadl
于 2013-10-17T18:28:31.870 回答
2

它通常在这种模式下:

http://<hostname>:<port>/<PROJECTNAME>/<servlet URL Pattern>/application.wadl

假设如果您的项目部署 desc(web.xml) 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Restful Web Application</display-name>

    <servlet>
        <servlet-name>jersey-helloworld-serlvet</servlet-name>
        <servlet-class>
                     com.sun.jersey.spi.container.servlet.ServletContainer
                </servlet-class>
        <init-param>
             <param-name>com.sun.jersey.config.property.packages</param-name>
             <param-value>com.example.rest.jersey</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-helloworld-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
</web-app>

然后网址将类似于:http://localhost:8080/JAXRS-HelloWorld/rest/application.wadl

就我而言:

JAXRS_HelloWorld is project name
rest is url pattern
于 2014-08-21T22:19:54.257 回答