⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 provisionservlet.java

📁 采用JAVA开发
💻 JAVA
字号:
/*
 * Created on 2004-7-24
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package com.gctech.misc.provision;

import java.sql.Connection;
import java.util.Iterator;

import javax.xml.messaging.JAXMServlet;
import javax.xml.messaging.ReqRespListener;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;

import com.gctech.misc.provision.handler.ExchangeData;
import com.gctech.misc.provision.handler.RequestHandler;
import com.gctech.misc.provision.handler.ResponseHandler;
import com.gctech.misc.util.DataBaseUtility;

/**
 * <p>Title: Provision正向同步、正向取消处理类</p>
 * <p>Description:</p>
 * <p>Copyright: Copyright (c) Gctech 2004-7-29</p>
 * <p>Company: 吉芙德资讯有限公司</p>
 *
 * @version 1.0
 * @author liyi
 *
 */
public class ProvisionServlet extends JAXMServlet implements ReqRespListener {
	/* (non-Javadoc)
	 * @see javax.xml.messaging.ReqRespListener#onMessage(javax.xml.soap.SOAPMessage)
	 */
	public SOAPMessage onMessage(SOAPMessage message) {
		Connection conn = null;
		try {
			System.out.println("Here's the message: ");
			message.writeTo(System.out);
			SOAPEnvelope reqEnv = message.getSOAPPart().getEnvelope();

			SOAPHeader header = reqEnv.getHeader();
			Name headerName = reqEnv.createName("TransactionID", "", "http://www.monternet.com/dsmp/schemas/");
			Iterator headerIte = header.getChildElements(headerName);
			String TransactionID = "";
			if (headerIte.hasNext()) {
				SOAPHeaderElement headerElement = (SOAPHeaderElement) headerIte.next();
				TransactionID = headerElement.getValue();
			}

			//打开数据库连接
			conn = DataBaseUtility.getConnection();
			/**
			 * 解析misc的定购关系同步请求Body部分
			 */
			RequestHandler reqHandler = new RequestHandler();
			ExchangeData exchangeData = reqHandler.handle(reqEnv, TransactionID,conn);
			
			/**
			 * 回复Misc的定购关系同步请求
			 */
			ResponseHandler resHandler = new ResponseHandler();
			SOAPMessage resMessage = resHandler.handle(conn,TransactionID,exchangeData);

			//将返回信息打印到后台
			System.out.println("Here's the response message: ");
			resMessage.writeTo(System.out);

			return resMessage;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			try {
				//关闭数据库连接
				if (conn != null && !conn.isClosed()) {
					conn.close();
				}
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -