Java EE は初めてで、GET サービスを作成しようとしています。Web サービスから値を取得するには、主キーをパラメーターとしてサービスに送信する必要があります。サーバー側のパラメーター値で null を取得しています。ここで基本的なものが欠けていることはわかっています。
クライアント側 Junit テスト
//VehicleList
service = client.resource(UriBuilder.fromUri(
"http://localhost:8081/mCruiseOnCarPool4All/carpool4all/VehicleList/Request").build());
service.setProperty("identityHash", identityHash) ;
VehicleDetailsConcrete[] vehicleList = service.type(MediaType.APPLICATION_JSON).get(
VehicleDetailsConcrete[].class);
assertNotNull(vehicleList) ;
assertTrue(vehicleList.length > 0) ;
サーバーサイドサービス
@GET
@Path ("Request")
@Produces({ MediaType.APPLICATION_JSON })
public Response getVehicleList(@PathParam("identityHash") String identityHash) {
VehicleListRequest request = new VehicleListRequest(identityHash) ;
VehicleListResponse response ;
clientSession = sessionManager.getClientSession(identityHash) ;
clientSession.getSendQueue().sendRequest(request) ;
try {
response = (VehicleListResponse)clientSession.waitAndGetResponse(request) ;
} catch (WaitedLongEnoughException e) {
return Response.serverError().build() ;
} catch (UnableToResolveResponseException e) {
return Response.serverError().build() ;
};
return Response.ok(response).build();
}
getVehicleList の identityHash が null です
setParam を実行すると仮定して、setProperty を使用しています。それが私が欠けているものだと確信しています。setParameter ちょっと呼び出し。