📄 provisionprocess.java
字号:
package com.zhanghao.provision;
import java.net.*;
import java.io.*;
import java.sql.*;
import javax.xml.soap.*;
import com.zhanghao.common.database.*;
import com.zhanghao.common.util.*;
import com.zhanghao.cmpp.CMPParameter;
public class ProvisionProcess extends Thread{
public Socket socket;
public HttpRequest httpRequest;
public HttpResponse httpResponse;
public ProvisionProcess(Socket _socket) throws Exception{
try{
this.socket = _socket;
this.httpRequest = new HttpRequest(socket.getInputStream());
this.httpResponse = new HttpResponse(socket.getOutputStream());
}
catch(Exception ex){
throw new Exception("ProvisionProcess初始化失败:"+ex.getMessage());
}
}
public void run(){
try{
int hRet = 0;
SyncOrderRelationReqBean syncOrderbean =null;
try{
SOAPMessage soapMsg = receive();
syncOrderbean = new SyncOrderRelationReqBean(soapMsg);
System.out.println("\r\n收到正向请求包:");
soapMsg.writeTo(System.out);
saveToDB(syncOrderbean);
}
catch(Exception ex){
ex.printStackTrace();
hRet=1;
}
SyncOrderRelationRespBean syncOrderRespBean =
new SyncOrderRelationRespBean(syncOrderbean);
syncOrderRespBean.hRet = hRet;
System.out.println("\r\n返回正向请求响应包:");
syncOrderRespBean.respXML.writeTo(System.out);
httpResponse.ContentLength = syncOrderRespBean.getMsgLength();
httpResponse.write(syncOrderRespBean.getBytes());
}
catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
if(socket!=null)
socket.close();
}
catch(Exception ex){}
}
}
public SOAPMessage receive() throws Exception{
SOAPMessage message = null;
try{
javax.xml.soap.MessageFactory messageFactory =
MessageFactory.newInstance();
message = messageFactory.createMessage();
javax.xml.soap.SOAPPart soapPart = message.getSOAPPart();
javax.xml.soap.SOAPEnvelope soapEnvelop = soapPart.getEnvelope();
javax.xml.soap.SOAPBody soapBody = soapEnvelop.getBody();
javax.xml.transform.stream.StreamSource
streamSource = new javax.xml.transform.stream.StreamSource(httpRequest.getInputStream());
soapPart.setContent(streamSource);
message.saveChanges();
}
catch(Exception ex){
ex.printStackTrace();
throw new Exception("接收SOAP Message失败:"+ex.getMessage());
}
return message;
}
public void send(SOAPMessage soapMsg){
}
public void saveToDB(SyncOrderRelationReqBean syncOrderBean) throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
String strSql1 = "insert into cmpp_syncorder_record (TransactionID,feeuser_type, feeuser_number, actionid,"+
"actionreasonid, spnumber, spserviceid, accessmode, msgcontent,Gateway_ID ) Values (?,?,?,?,?,?,?,?,?,?)";
try{
conn = ConnectionPool.getConnection();
pstmt = conn.prepareStatement(strSql1);
pstmt.setString(1, syncOrderBean.TransactionID);
pstmt.setInt(2, syncOrderBean.FeeUser_ID.UserIDType - 1);
pstmt.setString(3, syncOrderBean.FeeUser_ID.MSISDN);
pstmt.setInt(4, syncOrderBean.ActionID);
pstmt.setInt(5, syncOrderBean.ActionReasonID);
pstmt.setString(6, syncOrderBean.SPNumber);
pstmt.setString(7, syncOrderBean.SPServiceID);
pstmt.setInt(8, syncOrderBean.AccessMode);
pstmt.setString(9, syncOrderBean.MsgContent);
pstmt.setString(10,CMPParameter.Gateway_ID);
pstmt.execute();
pstmt.close();
}
catch(Exception ex){
ex.printStackTrace();
throw new Exception("保存数据失败:"+ex.getMessage());
}
finally{
PublicFunction.discloseconn(conn,pstmt,null);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -