📄 subscribehandler.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 + -