部署在JBoss上的RESTful服务没有响应

时间:2012-02-20 21:40:55

标签: java scala maven jboss resteasy

我在JBoss上测试一个简单的Restful服务时遇到了问题。

我已经构建了项目并且很好地部署到了JBoss。这是我使用Java编写的Deployer:

import javax.ws.rs.core.Application;

public class Deployer extends Application {

}

这是我的web.xml:

<?xml version="1.0"?>

<web-app>
    <servlet-mapping>
        <servlet-name>com.mxyy.orderservice.deploy.Deployer</servlet-name>
        <url-pattern>/orderservice/*</url-pattern>
    </servlet-mapping>
</web-app>

这是我用Scala编写的Restful服务接口:

@Provider
@Path("/customers")
trait ICustomerService {
  @POST
  @Consumes(Array("application/xml"))
  def createCustomer(is: InputStream): Response

  @GET
  @Path("{id}")
  @Produces(Array("application/xml"))
  def getCustomer(@PathParam("id") id: Int): StreamingOutput

  @PUT
  @Path("{id}")
  @Consumes(Array("application/xml"))
  def updateCustomer(@PathParam("id") id: Int, is: InputStream): Unit
}

此接口已实施。

在我部署到JBoss后,我尝试输入以下命令来访问该服务:

 http://localhost:8080/orderservice/customers/1

浏览器以

回复
HTTP Status 404 - /orderservice/customers/1    

type Status report    
message /orderservice/customers/1    
description The requested resource (/orderservice/customers/1) is not available.

有人可以指出我做错了什么吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

我认为除了一个小错误“/”之外,一切都很好。 只需编辑为:

@Provider
@Path("/customers")
trait ICustomerService {
@POST
@Consumes(Array("application/xml"))
def createCustomer(is: InputStream): Response

@GET
@Path("/{id}")
@Produces(Array("application/xml"))
def getCustomer(@PathParam("id") id: Int): StreamingOutput

@PUT
@Path("/{id}")
@Consumes(Array("application/xml"))
def updateCustomer(@PathParam("id") id: Int, is: InputStream): Unit
}

告诉我它是否有效。 :)