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

📄 subscribehandler.java

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

import java.util.Iterator;

import javax.xml.messaging.URLEndpoint;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;

import com.gctech.misc.util.Base64Util;

/**
 * <p>Title:反向定购处理类</p>
 * <p>Description:</p>
 * <p>Copyright: Copyright (c) Gctech 2004-7-30</p>
 * <p>Company: 吉芙德资讯有限公司</p>
 *
 * @version 1.0
 * @author liyi
 *
 */
public class SubscribeHandler {
	public void handle(String url) {
		try {
			Base64Util base64util = new Base64Util();
			
			MessageFactory messageFactory = MessageFactory.newInstance();
			SOAPMessage message = messageFactory.createMessage();

			SOAPPart soapPart = message.getSOAPPart();
			SOAPEnvelope envelope = soapPart.getEnvelope();

			SOAPHeader resHeader = envelope.getHeader();
			Name headerName = envelope.createName("TransactionID", "dsmp", "http://www.monternet.com/dsmp/schemas/");
			SOAPHeaderElement headerElement = resHeader.addHeaderElement(headerName);
			headerElement.addTextNode("110000000001");

			SOAPBody body = envelope.getBody();
			SOAPBody reqBody = envelope.getBody();
			Name SubscribeServiceReq = envelope.createName("SubscribeServiceReq", "", "http://www.monternet.com/dsmp/schemas/");
			SOAPBodyElement bodyElement = reqBody.addBodyElement(SubscribeServiceReq);

			Name pVersion = envelope.createName("Version");
			SOAPElement VersionElement = bodyElement.addChildElement(pVersion);
			VersionElement.addTextNode("1.5.0");

			Name pMsgType = envelope.createName("MsgType");
			SOAPElement MsgTypeElement = bodyElement.addChildElement(pMsgType);
			MsgTypeElement.addTextNode("SubscribeServiceReq");

			Name Send_Address = envelope.createName("Send_Address");
			SOAPElement sendElement = bodyElement.addChildElement(Send_Address);
			Name DeviceType = envelope.createName("DeviceType");
			SOAPElement DeviceTypeElement = sendElement.addChildElement(DeviceType);
			DeviceTypeElement.addTextNode("400");
			Name DeviceID = envelope.createName("DeviceID");
			SOAPElement DeviceIDElement = sendElement.addChildElement(DeviceID);
			DeviceIDElement.addTextNode("900209");

			Name Dest_Address = envelope.createName("Dest_Address");
			SOAPElement desElement = bodyElement.addChildElement(Dest_Address);
			Name desDeviceType = envelope.createName("DeviceType");
			SOAPElement desDeviceTypeElement = desElement.addChildElement(desDeviceType);
			desDeviceTypeElement.addTextNode("0");
			Name desDeviceID = envelope.createName("DeviceID");
			SOAPElement desDeviceIDElement = desElement.addChildElement(desDeviceID);
			desDeviceIDElement.addTextNode("9999");

			Name FeeUser_ID = envelope.createName("FeeUser_ID");
			SOAPElement feeUserElement = bodyElement.addChildElement(FeeUser_ID);
			Name UserIDType = envelope.createName("UserIDType");
			SOAPElement UserIDTypeElement = feeUserElement.addChildElement(UserIDType);
			UserIDTypeElement.addTextNode("0");
			Name MSISDN = envelope.createName("MSISDN");
			SOAPElement MSISDNElement = feeUserElement.addChildElement(MSISDN);
			MSISDNElement.addTextNode("111002");
			Name PseudoCode = envelope.createName("PseudoCode");
			SOAPElement PseudoCodeElement = feeUserElement.addChildElement(PseudoCode);
			PseudoCodeElement.addTextNode(base64util.encode("111002"));

			Name DestUser_ID = envelope.createName("DestUser_ID");
			SOAPElement desUserElement = bodyElement.addChildElement(DestUser_ID);
			Name desUserIDType = envelope.createName("UserIDType");
			SOAPElement desUserIDTypeElement = desUserElement.addChildElement(UserIDType);
			desUserIDTypeElement.addTextNode("0");
			Name desMSISDN = envelope.createName("MSISDN");
			SOAPElement desMSISDNElement = desUserElement.addChildElement(MSISDN);
			desMSISDNElement.addTextNode("111002");
			Name desPseudoCode = envelope.createName("PseudoCode");
			SOAPElement desPseudoCodeElement = desUserElement.addChildElement(PseudoCode);
			desPseudoCodeElement.addTextNode(base64util.encode("111002"));

			Name Service_ID = envelope.createName("Service_ID");
			SOAPElement serviceElement = bodyElement.addChildElement(Service_ID);
			Name ServiceIDType = envelope.createName("ServiceIDType");
			SOAPElement ServiceIDTypeElement = serviceElement.addChildElement(ServiceIDType);
			ServiceIDTypeElement.addTextNode("111002");
			Name SPID = envelope.createName("SPID");
			SOAPElement SPIDNElement = serviceElement.addChildElement(SPID);
			SPIDNElement.addTextNode("900209");
			Name SPServiceID = envelope.createName("SPServiceID");
			SOAPElement SPServiceIDElement = serviceElement.addChildElement(SPServiceID);
			SPServiceIDElement.addTextNode("DZXH");
			Name AccessNo = envelope.createName("AccessNo");
			SOAPElement AccessNoElement = serviceElement.addChildElement(AccessNo);
			AccessNoElement.addTextNode("111002");
			Name FeatureStr = envelope.createName("FeatureStr");
			SOAPElement FeatureStrElement = serviceElement.addChildElement(FeatureStr);
			FeatureStrElement.addTextNode("111002");

			Name endFeatureStr = envelope.createName("FeatureStr");
			SOAPElement endFeatureStrElement = bodyElement.addChildElement(endFeatureStr);
			endFeatureStrElement.addTextNode(base64util.encode("111002"));

			message.saveChanges();
			message.writeTo(System.out);

			SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance();
			SOAPConnection connection = soapConnFactory.createConnection();
			URLEndpoint endPoint = new URLEndpoint(url);
			SOAPMessage respMessage = connection.call(message, endPoint);

			//Close the connection            
			connection.close();

			SOAPEnvelope resEnv = respMessage.getSOAPPart().getEnvelope();
			SOAPBody resBody = resEnv.getBody();
			Name resName = resEnv.createName("SubscribeServiceResp", "dsmp", "http://www.monternet.com/dsmp/schemas/");
			Iterator ite = resBody.getChildElements(resName);
			SOAPBodyElement resBodyElement = (SOAPBodyElement) ite.next();

			Name Version = resEnv.createName("Version");
			ite = resBodyElement.getChildElements(Version);
			if (ite.hasNext()) {
				SOAPElement element = (SOAPElement) ite.next();
				System.out.println("Version:" + element.getValue());
			}

			Name MsgType = resEnv.createName("MsgType");
			ite = resBodyElement.getChildElements(MsgType);
			if (ite.hasNext()) {
				SOAPElement element = (SOAPElement) ite.next();
				System.out.println("MsgType:" + element.getValue());
			}

			Name hRet = resEnv.createName("hRet");
			ite = resBodyElement.getChildElements(hRet);
			if (ite.hasNext()) {
				SOAPElement element = (SOAPElement) ite.next();
				System.out.println("hRet:" + element.getValue());
			}

			Name LinkID = resEnv.createName("LinkID");
			ite = resBodyElement.getChildElements(LinkID);
			if (ite.hasNext()) {
				SOAPElement element = (SOAPElement) ite.next();
				System.out.println("LinkID:" + element.getValue());
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		SubscribeHandler handler = new SubscribeHandler();
		handler.handle("http://211.136.90.132:8080/dsmp/dsmp.wsdl");
	}
}

⌨️ 快捷键说明

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