我在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.
有人可以指出我做错了什么吗?
非常感谢。
答案 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
}
告诉我它是否有效。 :)