我有一個在春天開發的方法。以下是我的方法:如何通過java反射發送HTTP請求
@PreAuthorize("isAuthenticated() and hasPermission(#request, 'CREATE_REQUISITION')")
@RequestMapping(method = RequestMethod.POST, value = "/trade/createrequisition")
public @ResponseBody
void createRequisition(@RequestBody CreateRequisitionRO[] request,
@RequestHeader("validateOnly") boolean validateOnly) {
logger.debug("Starting createRequisition()...");
for (int i = 0; i < request.length; i++) {
CreateRequisitionRO requisitionRequest = request[i];
// FIXME this has to be removed/moved
requisitionRequest.setFundManager(requisitionRequest.getUserId());
// FIXME might have to search using param level as well
SystemDefault sysDefault = dbFuncs.references.systemDefault
.findByCompanyAndDivisionAndPortfolio(
userContext.getCompany(),
userContext.getDivision(),
requisitionRequest.getPortfolio());
requisitionRequest.setCustodianN(sysDefault.getCustodianN());
gateKeeper.route(requisitionRequest);
}
}
我想通過Java反射調用此方法與得到的迴應。並比較響應。
Tomcat的是向上的用戶在登錄到系統。當tomcat啓動時,我必須使用反射來調用該方法。
如何做到這一點在Java反射?
請幫忙是可能的,如果可能的話請建議我做一些投入,如果它是不可能支持我的可能性,這將幫助我解決這個問題。
編輯:
這是我試過,但它不工作:
Class cls;
CreateRequisitionRO[] request = new CreateRequisitionRO[10];
try {
//load the HexgenWebAPI at runtime
cls = Class.forName("com.hexgen.api.facade.HexgenWebAPI");
Object obj = cls.newInstance();
Method method = cls.getDeclaredMethod("createRequisition", parames,booleanVal);
method.invoke(obj, request,true);
}catch(Exception ex){
ex.printStackTrace();
System.out.println("status of reflection : "+ex.getCause());
}
問候 安託
你能不能給你想要做什麼的例子嗎? – NilsH 2013-04-11 11:28:24
@NilsH請參閱我更新的問題。好評如潮 – 2013-04-11 11:35:00
好的,但你想做什麼?你爲什麼需要用反射來稱呼它? – NilsH 2013-04-11 11:39:24