📄 cmccservlet.java~68~
字号:
package cmcctest;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import com.bhb.sms.server.service.rmi.MessageServer;
import com.bhb.sms.server.service.cmpp30.CMPP_MTData;
import java.rmi.Naming;
import java.lang.Thread;
public class cmccServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/plain; charset=ISO8859_1";
//Initialize global variables
private static String rmiURL = "//192.168.0.1:8888/rmiGatewayServer";
private static MessageServer rmiService = null;//
private static boolean rmiServiceStatus = false;
public void init() throws ServletException {
//initEnv();
}
private void initEnv()
{
try {
if (rmiService == null || rmiServiceStatus == false) {
rmiService = (MessageServer) Naming.lookup(rmiURL);
rmiServiceStatus = true;
System.out.println("连接网关--->成功");
}
}
catch (Exception e) {
System.out.println("连接网关--->失败,cause:" + e.getMessage());
rmiService = null;
rmiServiceStatus = false;
}
}
public boolean sendMsg(CMPP_MTData mt) {
try {
if(rmiServiceStatus == false)
{
initEnv();
}
rmiService.send(mt);
return true;
}
catch (Exception e) {
System.out.println(e.getMessage());
rmiService = null;
rmiServiceStatus = false;
return false;
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
String pkTotal = request.getParameter("pkTotal");
String pkNumber = request.getParameter("pkNumber");
String registered = request.getParameter("registered");
String gwID = request.getParameter("gwID");
String msgLevel = request.getParameter("msgLevel");
String serviceType= request.getParameter("serviceType");
String feeUserType= request.getParameter("feeUserType");
String feeTerminalID = request.getParameter("feeTerminalId");
String feeTerminalType = request.getParameter("feeTerminalType");
String tpUdhi = request.getParameter("tpUdhi");
String tpPid = request.getParameter("tpPid");
String msgSrc = request.getParameter("msgSrc");
String feeType = request.getParameter("feeType");
String feeCode = request.getParameter("feeCode");
String srcId = request.getParameter("srcId");
String destTerminalId = request.getParameter("destTerminalId");
String destTerminalType= request.getParameter("destTerminalType");
String msgContent = request.getParameter("msgContent");
String linkID = request.getParameter("linkID");
String msgFmt = request.getParameter("msgFmt");
CMPP_MTData mt = new CMPP_MTData();
long time = System.currentTimeMillis();
mt.setGwID(gwID.trim());
//mt.setBinaryFlag(false);
mt.setMsg_Fmt(Integer.parseInt(msgFmt));
mt.setAt_Time(new Date(time + 24*60*60*1000));
mt.setRegistered_Delivery(Integer.parseInt(registered.trim()));
mt.setMsg_Level(Integer.parseInt(msgLevel.trim()));
mt.setService_Id(serviceType.trim());
mt.setFee_UserType(Integer.parseInt(feeUserType.trim()));
mt.setFee_Terminal_Id(feeTerminalID.trim());
mt.setFee_Terminal_Type(Integer.parseInt(feeTerminalType.trim()));
mt.setTp_Pid(Integer.parseInt(tpPid.trim()));
mt.setTp_Udhi(Integer.parseInt(tpUdhi.trim()));
mt.setMsg_Src(msgSrc.trim());
mt.setFee_Type(feeType.trim());
mt.setFee_Code(feeCode.trim());
mt.setSrc_Id(srcId.trim());
String destAddr[] = new String[1];
destAddr[0] = destTerminalId.trim();
mt.setDest_Terminal_Id(destAddr);
mt.setDest_Terminal_Type(Integer.parseInt(destTerminalType.trim()));
mt.setLinkID(linkID.trim());
mt.setUpMsgid("");
boolean sucFlag = false;
if(mt.getMsg_Fmt() == 4)
{
//byte[] bt = Base64.decode(msgContent.trim());
String str1 = "CwUEFYoAAAADAQMBMAAAAAIBAABIHAEAAAAYAAAAAAAAAAAcAAAAAAAABwADgAAAAAAAD4ABn/n/AAAAP+PzkQgCAAAAd3MAEQgEAAAAhwuAH/gYAAABAgRwEQgQAAACAAIwE4gQAAACAAPwFUgQAAAGAAMAGSgQccAEAAEAEQgQUUAI4jiAEQgQccA=";
String str2 = "CwUEFYoAAAADAQMCCAUAgB/4cAAACAqAgAAAAAAAEU2UQAAAAAAAMA+AYAnwBwogMA+AYAkTvAVAcA2AcD/yhD/4UAAAUAkTv6AIcAAAcB3ylQ/gEAAAQCsS/4ggGAAAwAnzlQkgFQAFQAAClQkgGqAqwBUSv4KIH1VXwBSrhASIH6qvwCfgP7j4D9U=";
String str3 = "CwUEFYoAAAADAQMDX4AAAAAAAA==";
byte[] bt1 = Base64.decode(str1.trim());
byte[] bt2 = Base64.decode(str2.trim());
byte[] bt3 = Base64.decode(str3.trim());
mt.setPkTotal(3);
mt.setPkNumber(1);
mt.setMsg_Content(bt1);
mt.setBinaryFlag(true);
mt.setService_Id("-DG");
sucFlag = sendMsg(mt);
try{
Thread.sleep(1000);
}catch(Exception e){}
mt.setPkNumber(2);
mt.setMsg_Content(bt2);
mt.setBinaryFlag(true);
mt.setService_Id("-DG");
sucFlag = sendMsg(mt);
try{
Thread.sleep(1000);
}catch(Exception e){}
mt.setPkNumber(3);
mt.setMsg_Content(bt3);
mt.setBinaryFlag(true);
mt.setService_Id("-DG");
sucFlag = sendMsg(mt);
}else
{
mt.setPkTotal(Integer.parseInt(pkTotal));
mt.setPkNumber(Integer.parseInt(pkNumber));
mt.setBinaryFlag(false);
mt.setMsg_Content(msgContent.trim().getBytes());
sucFlag = this.sendMsg(mt);
}
out.println("<html>");
out.println("<head><title>CMPP3.0接口测试</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
if(sucFlag)
{
out.println("<p>消息已经提交到网关</p>");
}else{
out.println("<p>消息发送失败</p>");
}
out.println("</body></html>");
}
//Clean up resources
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -