java hessian案例_一个基于HESSIAN协议的JAVA脚本实例

/*

* LoadRunner Java script. (Build: _build_number_)

*

* Script. Description:

*

*/

import lrapi.lr;

import java.util.Date;

import java.math.BigDecimal;

import com.caucho.hessian.client.HessianProxyFactory;

import *****;//导入相关的类

public class Actions

{

HessianProxyFactory factory = null;

String  url="http://172.10.10.147:8001/nc-pay-hessian/soa/hessian/"+PaymentManageFacade.class.getName();

PaymentManageFacade payFacade=null;

public int init() throws Throwable {

factory=new HessianProxyFactory();

try{

payFacade=(PaymentManageFacade)factory.create(PaymentManageFacade.class,url);

}catch(Exception e){

e.printStackTrace();

}

return 0;

}//end of init

public int action() throws Throwable {

lr.start_transaction("ncpay_create_order");

PaymentRequestDTO reqDTO = new PaymentRequestDTO();

reqDTO.setBizType(1L);

reqDTO.setBizOrderNum("BIZ"+System.nanoTime());

reqDTO.setBizOrderDate(new Date());

reqDTO.setBankRuleId(1L);

reqDTO.setIndustryCode("LoadTest");

reqDTO.setPayToolId("PTL");

reqDTO.setTerminalId("TML");

reqDTO.setMerchantNo("YB010");

reqDTO.setMerchantName("NC-TEST");

String timems=String.valueOf(System.currentTimeMillis());

reqDTO.setRequestNo("RQN"+timems);

reqDTO.setOrderAmount(new BigDecimal(1.01));

reqDTO.setOrderType(OrderTypeEnum.SALE);

reqDTO.setCardInfoType(CardInfoTypeEnum.TEMP);

reqDTO.setCardInfoId(1L);

reqDTO.setMemberNO("5012");

reqDTO.setMemberType(MemberTypeEnum.JOINLY);

reqDTO.setProductName("游戏-性能测试");

reqDTO.setRegionCode("REGION");

String res=null;

String rderId=null;

try{

PaymentResponseDTO respDTO = payFacade.createPayment(reqDTO);

//System.out.println(JSONUtils.toJsonString(respDTO));

res=JSONUtils.toJsonString(respDTO);

int lift=res.indexOf("\",\"needItem");

orderId=res.substring(15,lift);

}catch (Exception e) {

e.printStackTrace();

}

if(orderId==null ){

lr.error_message(res);

lr.end_transaction("ncpay_create_order", lr.FAIL);

}else{

lr.end_transaction("ncpay_create_order", lr.PASS);

}

lr.start_transaction("ncpay_confirm_pay");

PayConfirmRequestDTO cfp = new PayConfirmRequestDTO();

cfp.setPayOrderId(orderId);

cfp.setSmsCode("74586");

cfp.setTmpCardId(0L);

String res1=null;

try {

PayQueryResponseDTO rsp = payFacade.synConfirmPay(cfp);

System.out.println(JSONUtils.toJsonString(rsp));

res1=JSONUtils.toJsonString(rsp);

} catch (Exception e) {

e.printStackTrace();

}

String status="status\":\"";

String rderAmount="\",\"orderAmount";

int left=res1.indexOf(status)+9;

int right=res1.indexOf(orderAmount);

String sub=res1.substring(left,right);

if(sub.equals("SUCCESS")){

lr.end_transaction("ncpay_confirm_pay", lr.PASS);

}else{

lr.error_message(res1);

lr.end_transaction("ncpay_confirm_pay", lr.FAIL);

}

return 0;

}//end of action

public int end() throws Throwable {

return 0;

}//end of end

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值