package com.misc.client; import java.math.BigInteger; import java.net.URL; import javax.xml.rpc.holders.StringHolder; import com.monternet.www.dsmp.schemas.Address_info_schema; import com.monternet.www.dsmp.schemas.SyncOrderRelationReqType; import com.monternet.www.dsmp.schemas.SyncOrderRelationRespType; import com.monternet.www.dsmp.schemas.User_id_schema; import com.monternet.www.dsmp.schemas.holders.SyncOrderRelationRespTypeHolder; import com.monternet.www.dsmp.wsdl.MaPortBindingStub; //import com.monternet.www.dsmp.*; /* * 移动MISC系统升级,SP客户端测试环境 */ public class miscClient { private static BigInteger msg; public static void main(String[] args) { MaPortBindingStub binding = null; SyncOrderRelationRespType resp = null; SyncOrderRelationReqType req=new SyncOrderRelationReqType(); SyncOrderRelationRespTypeHolder syncOrderRelationOutput = new SyncOrderRelationRespTypeHolder(); StringHolder transactionIDOut = new StringHolder(); /** * * TransactionID 由返回的provision包里面的对应字段来决定,然后放到响应包里面的对应字段 * TransactionID不是sp生成的 * */ // 根据 - 数据业务管理平台接口规范-1.5.1 定义。可以参考schemas 下的类文件 BigInteger devicetypeSend_Address = BigInteger.valueOf(201); BigInteger devicetypeDest_Address = BigInteger.valueOf(0); BigInteger UserIDTypeFeeUser_ID = BigInteger.valueOf(1); BigInteger ActionID = BigInteger.valueOf(1); BigInteger ActionReasonID = BigInteger.valueOf(1); BigInteger AccessMode = BigInteger.valueOf(3); byte[] pseudoCode = new byte[]{}; // 对于一些固定的值来决定 Address_info_schema Send_Address = new Address_info_schema(); Send_Address.setDeviceID("misc"); Send_Address.setDeviceType(devicetypeSend_Address); Address_info_schema Dest_Address = new Address_info_schema(); Dest_Address.setDeviceID("1212"); Dest_Address.setDeviceType(devicetypeDest_Address); User_id_schema FeeUser_ID = new User_id_schema(); FeeUser_ID.setMSISDN("13583153328"); FeeUser_ID.setUserIDType(UserIDTypeFeeUser_ID); FeeUser_ID.setPseudoCode(pseudoCode); User_id_schema DestUser_ID = new User_id_schema(); DestUser_ID.setMSISDN("13583153328"); DestUser_ID.setUserIDType(UserIDTypeFeeUser_ID); DestUser_ID.setPseudoCode(pseudoCode); /** * 给请求赋值 */ req.setMsgType("SubscribeServiceReq"); req.setVersion("1.5.0"); req.setSend_Address(Send_Address); req.setDest_Address(Dest_Address); req.setFeeUser_ID(FeeUser_ID); req.setDestUser_ID(DestUser_ID); req.setLinkID(""); // 可选 req.setActionID(ActionID); req.setActionReasonID(ActionReasonID); req.setSPID("082601"); req.setSPServiceID("dz"); req.setAccessMode(AccessMode); try { URL endpoint = new URL("http://localhost:8080/axis/services/maPort"); //详细见说明1 和说明 2 说明3 binding = (MaPortBindingStub) new com.monternet.www.dsmp.wsdl.DsmpLocator().getmaPort(endpoint); binding.setTimeout(60000); binding.syncOrderRelation(req,"00240301806870",syncOrderRelationOutput,transactionIDOut); resp = syncOrderRelationOutput.value; String tranID = transactionIDOut.value; System.out.println(tranID); System.out.println(resp.getMsgType()); System.out.println(resp.getVersion()); System.out.println(resp.getHRet()); if((resp.getHRet()).equals("0")){ System.out.println("Transact Success!"); } } catch (Exception e) { e.printStackTrace(); } } } |