Служба RESTful, развернутая на JBoss, не отвечает - PullRequest
0 голосов
/ 21 февраля 2012

У меня проблема с тестированием простого сервиса Restful на JBoss.

Я собрал проект и нормально развернул на JBoss. Это мой Deployer, написанный на Java:

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>

Это мой интерфейс службы Restful, написанный на Scala:

@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 голосов
/ 21 февраля 2012

Я думаю, что все в порядке, за исключением небольшой ошибки, которая "/".просто отредактируйте как:

@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
}

Сообщите мне, если это работает.:)

...