/*****************************************************************
* <p>Filename: AuthReceiver.java
* <p>Description:
* <p>
* <p>Copyright: Copyright (c)2008
* <p>Company: Linkage Group
* <p>Create at: 2013-9-7上午01:40:47
* @author jinkun
* @version 1.0
* @since JDK1.5
*********************************************************************/
package com.linkage.auth.sender;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.log4j.NDC;
import com.linkage.ngi.sender.IBossSerialHttpSender;
import com.linkage.processor.HTTPDataReceiverFCU;
import com.linkage.uip.data.TradeInfo;
import com.linkage.uip.data.UIPDataContext;
import com.linkage.uip.filecore.common.FilecoreCommonTools;
import com.linkage.uip.sender.SerialHttpSender;
import com.linkage.util.bml.BML;
import com.linkage.util.common.Sequencer;
import com.linkage.util.common.StringTools;
import com.linkage.util.common.TimeProcessor;
import com.linkage.util.common.UUIDGenerator;
import com.linkage.util.configmanager.BusiSignManager;
import com.linkage.util.configmanager.BusiSignVO;
import com.linkage.util.configmanager.ConfigManager;
import com.linkage.util.logger.UIPBizInfo;
import com.linkage.util.logger.UIPLogger;
import com.linkage.xml.saxproc.assit.ResNodeVO;
import com.linkage.xml.saxproc.assit.SAXNodeTreeHelper;
import com.linkage.xml.saxproc.sax.Node;
import com.linkage.xml.saxproc.sax.SAXNodeTree;
/*****************************************************************
* <p>Filename: AuthReceiver.java
* <p>Description:
* <p>
* <p>Copyright: Copyright (c)2008
* <p>Company: Linkage Group
* <p>Create at: 2013-9-7上午01:40:47
* <p>
* <p>Modification History:
* <p>Date Author Version Description
* <p>------------------------------------------------------------------
* <p>2008-12-26 jinkun 1.0 first Version
* <p>------------------------------------------------------------------
*
* @author jinkun
* @version 1.0
* @since JDK1.5
*********************************************************************/
public class AuthReceiver extends HttpServlet{
private static final long serialVersionUID = -1705739622307111627L;
/**
* http数据编码
*/
private String encode="UTF-8";
/**
* 日志管理器
*/
private static final Logger logger=UIPLogger.getLogger(AuthReceiver.class);
/**
* 配置管理器
*/
ConfigManager configManager = ConfigManager.getInstance();
/**
* http的监听的配置名
*/
String dataReceiverName = null;
/**
* 处理类型
*/
private String processType = null;
/**
* 发起方domain
*/
private String origSysID = null;
/**
* 落地方domain
*/
private String homeSysID = null;
/**
* 子系统的名字
*/
private String subSystemName = null;
/**
* init 初始化servlet.
*
* @param servletConfig
* ServletConfig
* @throws ServletException
* @todo Implement this javax.servlet.Servlet method
*/
public void init(ServletConfig servletConfig) throws ServletException {
/*
<servlet>
<servlet-name>AuthReceiver</servlet-name>
<servlet-class>com.linkage.auth.sender.AuthReceiver</servlet-class>
<init-param>
<param-name>AuthReceiver</param-name>
<param-value>HTTPDataReceiverIBOSS</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AuthReceiver</servlet-name>
<url-pattern>services/SVC_UACP9980_RealTimeInterface</url-pattern>
</servlet-mapping>
*/
dataReceiverName = servletConfig.getInitParameter("AuthReceiver");
logger.debug("TSOPHTTP监听初始化.ServletName: " + servletConfig.getServletName() + " DataReceiverName: " + dataReceiverName);
origSysID = StringTools.nvl(configManager.getParamValue(dataReceiverName, "OrigSysID"), "UNKNOWN", 2);
homeSysID = StringTools.nvl(configManager.getParamValue(dataReceiverName, "HomeSysID"), "UNKNOWN", 2);
processType = StringTools.nvl(configManager.getParamValue(dataReceiverName, "ProcessType"), "UNKNOWN", 2);
subSystemName = StringTools.nvl(configManager.getParamValue(dataReceiverName, "SubSystemName"), "UNKNOWN", 2);
}
/**
* get请求处理
* @param request http请求
* @param response http响应
* @throws ServletException
* @throws IOException
*/
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/xml;charset="+encode);
doPost(request,response);
}
/**
* post请求处理
* @param request http请求
* @param response http响应
* @throws ServletException
* @throws IOException
*/
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
//记录时间
Date time=new Date();
// 设置编码
request.setCharacterEncoding(encode);
//跳过Header的校验
//以字节流方式取参数
BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(),encode));
StringBuffer sb = new StringBuffer();
String tmp = "";
while ((tmp = in.readLine()) != null){
sb.append(tmp).append("\n");
}
String reqParamString=sb.toString().trim();
reqParamString=reqParamString.indexOf("%")>-1?URLDecoder.decode(reqParamString,encode):reqParamString;//兼容get方式编码
System.out.println("---------接收的报文-------"+sb.toString());
//响应字符串,真坑爹,成功失败都返回这个
String rspParamString="";
try{
//初始化日志信息报文头信息以及报文体信息,分3个接口
String address=request.getRemoteAddr();
String bipCode=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:BIPCode");
String activityCode=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:ActivityCode");
String transIdO=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:TransIDO");
String testFlag=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:TestFlag");
String busiSign=bipCode+"_"+activityCode+"_1_"+testFlag;
String procId=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:ProcID");
String processTime=StringTools.getFirstXmlStrByFlag(reqParamString,"ns1:ProcessTime");
UIPBizInfo ubi = new UIPBizInfo();
ubi.setStr0(UUIDGenerator.getNextId());
ubi.setStr1(address);
ubi.setStr2(busiSign);
ubi.setStr3(transIdO);
NDC.push(ubi.toString());
String MSISDN="";
String ChannelID="";
String UserType="";
String IdentCode="";
String EffectiveTime="";
String OperCode="";
String Password="";
String PwdType="";
String CustomerId="";
String IdentCodeType="";
String IDLevel="";
if(reqParamString.contains("<cmcc:authdelay>")){
OperCode="authdelay";
MSISDN=StringTools.getFirstXmlStrByFlag(reqParamString,"cmcc:MSISDN");
ChannelID=StringTools.getFirstXmlStrByFlag(reqParamString,"cmcc:ChannelID");
UserType=StringTools.getFirstXmlStrByFlag(reqParamString,"cmcc:UserType");
IdentCode=StringTools.getFirstXmlStrByFlag(reqParamString,"cmcc:IdentCode");
EffectiveTime=StringTools.getFirstXmlStrByFlag(reqParamString,"cmcc:EffectiveTime");
System.out.println("---------执行报文解析了-----
没有合适的资源?快使用搜索试试~ 我知道了~
WebService的客户端和服务端的全套代码
共173个文件
java:85个
class:57个
xml:8个
需积分: 10 52 下载量 6 浏览量
2014-05-21
10:55:58
上传
评论 1
收藏 138KB RAR 举报
温馨提示
基于CXF的WS接口的服务端和客户端,有详细的配置以及各种说明。加密解密等等都有实例。
资源推荐
资源详情
资源评论
收起资源包目录
WebService的客户端和服务端的全套代码 (173个子文件)
ObjectFactory.class 4KB
ObjectFactory.class 4KB
SendMessage.class 3KB
HelloHeader.class 3KB
IHello_IHelloPort_Client.class 3KB
Operation_0020Request_Operation_0020RequestPort_Client.class 3KB
WsServerImpl.class 3KB
ResponseClient.class 3KB
HelloheaderImpl.class 2KB
AddHelloHeader.class 2KB
IWsServerService.class 2KB
HelloTest.class 2KB
IHelloService.class 2KB
IHelloImpl.class 2KB
Operation_0020RequestImpl.class 2KB
HelloImpl.class 2KB
Operation_Response.class 1KB
Header.class 1KB
HelloWorldTest.class 1KB
OperationResponse.class 1KB
Operation_0020Request_Operation_0020RequestPort_Server.class 1KB
IHello.class 1KB
MsgBody.class 1KB
IHello_IHelloPort_Server.class 1KB
Header.class 1KB
ReturnUser.class 1KB
IWsStart.class 1KB
Iwstart.class 1KB
OperationRequestResponse.class 1KB
Operation_0020Request.class 1KB
HelloWorldImpl.class 1017B
WsBody.class 992B
OperationRequest.class 989B
TestTime.class 952B
MsgBody.class 946B
ControlThread.class 938B
User.class 932B
User.class 925B
ReturnUser.class 915B
SayUserResponse.class 911B
SayUserNameResponse.class 891B
SayHiResponse.class 867B
MsgHeader.class 828B
TimerD.class 820B
SayUserName.class 803B
IWsServer.class 792B
SayUser.class 787B
SayHi.class 761B
WsBody.class 743B
TestThread.class 679B
MsgHeader.class 579B
RunThread.class 572B
IHello.class 411B
package-info.class 256B
IHelloWorld.class 254B
package-info.class 250B
IOperation_Response.class 210B
.classpath 433B
.classpath 433B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
Bean.xml.copy 3KB
AuthReceiver.java 23KB
ObjectFactory.java 20KB
Loginauth.java 8KB
AuthImpl.java 8KB
LoginauthResponse2.java 6KB
ObjectFactory.java 5KB
Authdelay.java 5KB
UserInfo.java 5KB
SVCUACP9980RealTimeInterface.java 5KB
Logout.java 4KB
SVCUACP9980RealTimeInterfacePortTypeImpl2.java 4KB
SVCUACP9980RealTimeInterfacePortTypeImpl.java 4KB
SVCUACP9980RealTimeInterfacePortTypeImpl1.java 4KB
ObjectFactory.java 4KB
SVCUACP9980RealTimeInterfacePortType.java 4KB
WsServerImpl.java 4KB
SVCUACP9980RealTimeInterfacePortType_SVCUACP9980RealTimeInterfaceHttpSoap11Endpoint_Client.java 4KB
SVCUACP9980RealTimeInterfacePortType_SVCUACP9980RealTimeInterfaceHttpSoap12Endpoint_Client.java 4KB
SVCUACP9980RealTimeInterfacePortType_SVCUACP9980RealTimeInterfaceHttpEndpoint_Client.java 4KB
LogoutResponse2.java 3KB
Operation_Response.java 3KB
Header.java 3KB
SendMessage.java 3KB
HelloTest.java 3KB
OperationResponse.java 3KB
ResponseClient.java 3KB
MsgBody.java 3KB
SendMessage.java 3KB
IWsServerService.java 3KB
IHelloImpl.java 3KB
ReturnUser.java 2KB
Ws_SpringStart.java 2KB
IHelloService.java 2KB
IHello_IHelloPort_Client.java 2KB
IWsServer.java 2KB
IHello.java 2KB
Operation_0020Request_Operation_0020RequestPort_Client.java 2KB
WsBody.java 2KB
共 173 条
- 1
- 2
资源评论
江南云少
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HCIP-Datacom笔记 (1).pdf
- yolov5,SSD 可能使用到的一些代码
- bbbbbbbbbbbbbbbbbb
- 安卓逆向学习笔记之Frida Stalker 还原OLLVM AES.docx
- 安卓逆向学习笔记之unicorn来trace还原OLLVM Base64.docx
- 最新版本私钥助记词碰撞器大富豪使用python进行制作通过接口的方式进行验证支持多币种多链多网络一分钟万次验证高出货率
- 介绍离散性制造行业的MES系统流程
- Arduino IDE压缩包版本,2024年4月26日,最新版本
- 基于IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chines微调的中文文本摘要任务源码+数据集
- 自动驾驶-状态估计和定位之直方图滤波(Histogram+Filter)定位应用和源码.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功