java - 轻松路径 JBoss

标签 java web-services url jboss5.x resteasy

我在本地主机上使用 Resteasy 2.1 导航到 Restful 服务时遇到问题,希望这里有人能够帮助我。

我已经构建了一个 EAR 文件,里面有 WAR,似乎可以编译并部署到 JBoss5 上。

我的服务得到简化:

@Path("RequestReply")
public class Replier {

    @GET
    @Path("request")
    public String getReply(@QueryParam("id") @DefaultValue("") String id){
            if (id.length > 0){
                return "ACK";
            }
            return "NACK";
        }
}

我的 web.xml 文件是标准的:

<?xml version="1.0" encoding="UTF-8"?>

<web-app>
    <display-name>Test service</display-name>

    <listener>
        <listener-class>
            org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
        </listener-class>
    </listener>

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

    <servlet>
        <servlet-name>Resteasy</servlet-name>

        <servlet-class>
            org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>

所以我尝试使用

访问我的 API

http://localhost:8080/RequestReply/request?id=1234

但是我收到 404 错误。

谁能告诉我我做错了什么?

应用程序.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="java.sun.com/xml/ns/javaee"; xmlns:xsi="w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/application_5.xsd"; version="5"> 

        <display-name>Reseasy</display-name> 

        <module> 
            <java>simple.jar</java> 
        </module> 

    </application>

最佳答案

好的,所以我建议尝试类似的方法:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
             version="5">

    <display-name>Reseasy</display-name>

    <module>
        <web>
            <web-uri>Replier.war</web-uri>
            <context-root>/api</context-root>
        </web>
    </module>

</application>

此处,Replier.war 指您创建的 WAR 文件的名称,/api 指您的请求 URL 的基础。所以它应该看起来像:

http://localhost:8080/api/RequestReply/request?id=1234

试一试!

关于java - 轻松路径 JBoss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799178/

相关文章:

java - 对 PrintStream out 变量感到困惑

Java:使用 HTTPBasic 身份验证获取 URL

php - 在文件夹中使用 .htaccess 隐藏查询字符串

javascript - 是否有一种标准的方法来获取类似于 image.src 工作方式的完整 URL

java - 从 Executor 创建 ExecutorService

java - SecurityManager.checkPropertyAccess 为现有系统属性抛出 AccessControlException

java - 如何在不安装到 keystore 的情况下连接到 SSL 证书 Web 服务?

java - Web 服务-用户名 token -根据安全策略验证消息时出错错误代码 :1000

jquery - 如何从不同的应用程序远程调用Grails Web服务

url - 获取 Orchard ContentItem 显示 URL