我创建了一个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文件如下所示:
谢谢
答案 0 :(得分:27)
您的应用在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
答案 1 :(得分: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