podl005servlet.java
来自「WAP PUSH后台源码,WAP PUSH后台源码」· Java 代码 · 共 197 行
JAVA
197 行
package com.sxit.dl;
/**
* <p>类名: PODL005Servlet</p>
* <p>功能: 内蒙联通WAP PUSH对SP接口(实时)</p>
* <p>公司: 深讯信科</p>
* @程序 zwx
* @日期 2005-12-15
* @修改纪录
*/
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sxit.push.*;
import com.sxit.pim.push.*;
import com.sxit.pim.cp.*;
import com.sxit.pim.channel.*;
import com.sxit.common.*;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
public class PODL005Servlet
extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
//request.setCharacterEncoding("utf-8");
ServletInputStream in;
PrintWriter out;
in = request.getInputStream();
String FromMdn = "";
String ToMdn = "";
String ProductCode = "";
String TransactionID = "";
String Title = "";
String Url = "";
String Result = "";
String su_result = "1003";
String ip = request.getRemoteAddr();
System.out.println("WAP PUSH请求:" +
new Timestamp(System.currentTimeMillis()) + "=ip=" +
ip);
Connection con = ConnPoolHandler.getConnection();
int rowcount = 0;
try {
rowcount = Tcp.count_ip(con, ip);
if (rowcount != 0) {
//IP已认证
try {
//-------------------解析文件-------------------
DocumentBuilderFactory factory = DocumentBuilderFactory.
newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(in);
//System.out.println("核对业务代码");
ProductCode = document.getElementsByTagName("ProductCode").
item(
0).
getFirstChild().getNodeValue();
//System.out.println("get ProductCode=" + ProductCode);
TransactionID = document.getElementsByTagName(
"TransactionID").item(0).getFirstChild().getNodeValue();
//System.out.println("get TransactionID=" + TransactionID);
//--------------------核对业务代码--------------
int sp_id = 0;
Tcp tcp = new Tcp();
sp_id = tcp.create1(con, ip);
//System.out.println("sp_id1=" + sp_id);
int sp_id2 = 0;
Tchannel tch = new Tchannel();
sp_id2 = tch.create9(con, ProductCode);
//System.out.println("sp_id2=" + sp_id2);
if (sp_id == sp_id2) {
//--------消息包处理--------
ToMdn = document.getElementsByTagName("ToMdn").item(0).
getFirstChild().getNodeValue();
System.out.println("get ToMdn=" + ToMdn);
FromMdn = document.getElementsByTagName("SPCode").item(
0).
getFirstChild().getNodeValue();
System.out.println("get FromMdn=" + FromMdn);
Title = document.getElementsByTagName("Content").item(0).
getFirstChild().getNodeValue();
//System.out.println("get Title=" + Title);
Url = document.getElementsByTagName("Url").item(0).
getFirstChild().getNodeValue();
//System.out.println("get Url=" + Url);
//---------发送----------
try {
PushHQ2LCService service = new
PushHQ2LCServiceLocator();
PushHQ2LC pushHQ = service.getPushService();
Result = pushHQ.pushMSG2LC("010", "010", FromMdn,
ToMdn,
Title, Url);
System.out.println("RESULT=" + Result);
//13316996852:1001:The request has been accepted for processing
int i1 = Result.indexOf(":");
int i2 = Result.lastIndexOf(":");
String sss = Result.substring(i1 + 1, i2);
//System.out.println("sss=" + sss);
if (sss.equals("1001"))
su_result = "1001";
if (sss.equals("-800"))
su_result = "1004";
//---------发送结果存入数据库---------
int id = (int) KeyContainer.getNewSequence(con,
"tpushid");
Tpush.insert(con, id, FromMdn, ToMdn, Title, Url, 1,
sss, ProductCode, TransactionID, 61);
//--------返回消息---------
out = response.getWriter();
out.println(
"<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<TransactionID>" + TransactionID +
"</TransactionID>");
out.println("<Result>" + su_result + "</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
catch (Exception e) {
System.out.println(e);
out = response.getWriter();
out.println(
"<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<TransactionID>" + TransactionID +
"</TransactionID>");
out.println("<Result>1002</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
}
else {
//业务代码错误
out = response.getWriter();
out.println(
"<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<TransactionID>" + TransactionID +
"</TransactionID>");
out.println("<Result>1002</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
}
catch (Exception e) {
e.printStackTrace();
System.out.println("XML数据包格式不对"); //XML数据包格式不对
out = response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<Result>1002</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
System.out.println("-------push over--------");
}
else {
System.out.println("客户端IP没有通过鉴权"); //客户端IP没有通过鉴权
out = response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<Result>1002</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
}
catch (SQLException e) {
System.out.println(e);
out = response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
out.println("<ResponsePushInfo>");
out.println("<Result>1002</Result>");
out.println("</ResponsePushInfo>");
out.close();
}
finally {
in.close();
ConnPoolHandler.closeConnection(con);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doPost(request, response);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?