2012-01-22 5 views
0

私はJetty WebサーバーとJersey for REST処理を使用しています。特定のメソッドへのすべてのHTTPリクエストの受け入れ

POST http://localhost:8080/hqsim/のような/ hqsimで始まるすべてのHTTP要求(私のサーバが受信する)は、特定の方法(私の例ではPOST)に向けられます。

@Path( "/")、@Path( "* /")を試したところ、@Pathを宣言しなくても動作しません。

すべてのリクエストは、sendMessageというメソッドに送られます。

@Path("/hqsim") 
@Component 
@Scope("request") 
public class HQSimResource { 
    // init class logger 
    private static Logger logger = Logger.getLogger("audit." 
      + HQSimResource.class.getName()); 

    @POST 
    @Path("/*") 
    @Consumes({ MediaType.APPLICATION_XML, MediaType.TEXT_XML }) 
    public Response sendMessage(@Context final UriInfo uriInfo) { 
     // logger.debug("/sendMessage"); 
     System.out.println("Received Post"); 
     return Response.status(Response.Status.OK).build(); 
    } 
} 

答えて

1

機能レベルで@Path(/ *)は必要ありません。クラスレベルの@Path(/ hqsim)で十分です。

推測: 通常、RESTリソースは、Webアプリケーションの下にあります。http://localhost:8080/myWebApplication/hqsimのようになります。たぶんこれが問題です。

2番目の方法は、Jerseyへのリソース登録に問題があることです。

ありがとう、 シェイ

関連する問題