provision of interfaces: Mouse Date: 06-02-05 16:17 Accessories: Using java to write, you do not know can not be used on this is the main class, the necessary classes, methods are some of the tools, you write it. It is mainly parsing the SOAP package.
Package com.cellcom.wap.fala.common;
Import Java.io.bufferedReader; Import Java.io.IOException; Import Java.io.printwriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilder;
Import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException;
Import org.w3c.dom.document; import org.xml.sax.inputsource; import org.xml.sax.saxexception;
import com.cellcom.common.wap.mobile.misc.DOMParsing; import com.cellcom.common.wap.mobile.misc.DSMPServiceProv; import com.cellcom.common.wap.mobile.misc.SyncOrderRelationResp; import com.cellcom. Common.wap.mobile.misc.unsubscribeServiceResp; import com.cellcom.common.wap.mobile.misc.provtransinterface;
/ *** Title: wap.fala.cn
* DESCRIPTION: Receive
* Copyright: CopyRight (C) 2005
* Company: www.cellcom.com.cn
* @Author cabin * @version 1.0 * /
public class Provision extends HttpServlet {public Provision () {} private static final String CONTENT_TYPE = "text / xml"; public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType (CONTENT_TYPE); DSMPServiceProv prov = this .parsereq (Request); if (proV! = null) {this.logandsync (proV); this.respreq (Response, prov, 0);}} / ** * Package the requested SOAP package * @Param Request * @Return * / private DSMPServiceProv Parsereq (HTTPSERVLETREQUEST REQUEST) {DSMPSERVICEPROV PROV = NULL; DOCUMENT DOC = NULL;
try {BufferedReader br = request.getReader (); DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance (); DocumentBuilder builder = factory.newDocumentBuilder (); doc = builder.parse (new InputSource (br)); DOMParsing.printNode (doc, "" ); Doc.normalize (); // parsing the package to get the contents of the corresponding package ProV.ParsEsoAPXML (DOC);} catch (saxException ex) {system.out.println ("## error saxexception: " ex.toString ());} catch (ParserConfigurationException ex) {System.out.println (" ## error ParserConfigurationException: " ex.toString ());} catch (FactoryConfigurationError ex) {System.out.println ( "## error FactoryConfigurationError:" EX.TOSTRING ());} catch (ioException ex) {system.out.println ("## error ioException:" EX.TOSTRING ());} Return ProV;} public void LogAndSync (DSMPServiceProv pROV) {// Service Processing // Status Management Command Result Errstate: 0 Command Success; - 1 Invalid action_id; -2 invalid service_id // (other non-0 value) command failed; // Action: 1 Opened; 2 Stop; 3 activation 4 Pause ProvTransinterFace Provitrans = New ProvitransHandler (); Province (); Province.logProvTrans (PROV) ; provtrans.SyncProv (prov);} public void respReq (HttpServletResponse response, DSMPServiceProv prov, int errState) {String sb = null; PrintWriter out = null; try {out = response.getWriter ();} catch (IOException ex) { System.out.println (EX.TOSTRING ());
if ( "SyncOrderRelationReq" .equals (prov.getMsgType ())) {sb = SyncOrderRelationResp.getResp (errState, prov.getTransactionID ());} else if ( "UnSubscribeServiceReq" .equals (prov.getMsgType ())) {sb = UnSubscribeServiceResp.getResp (errState, prov.getTransactionID ());} out.print (sb.toString ()); out.flush (); out.close ();}} title: Re: provision of interfaces: Mouse time : 06-02-05 16:18 Attachment: Mobile WAP Synchronous Relationship ProVision Interface The Front Words Writing Write Write Words Write the Function of WAP and I don't say it.
Announced completed provision interface code and data sheet format
Package com.wap.provision;
Import java.io.ioException; import java.io.printwriter; import java.sql.connection;
Import javax.servlet.servletException; import javax.servlet.servletinputStream; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse;
Import data.dtime;
public class Provision extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Dopost (Request, Response);
Protected Void Dopost (httpservletRequest Request, HttpservletResponse Response) throws servletexception, ioException {
CONNECTION CON;
Con = (connection) this.getServletContext (). getAttribute ("con"); // Get the database connection DTIME DTIME DTIME DTIME = New DTIME () from the container (); // Get the current time
System.out.println ("Provision Start AT" DTIME.GETDTIME ());
ServletinputStream in = request.getinputStream (); // Get InputStream
PrintWriter out = response.getwriter (); // Get Writer
Anatomy Tempanatomy = New Anatomy (in, out, con); // put the data stream into the parser
System.out.println ("Data Input ANATMOMY);
}
-------------------------------------------------- ------------------------------ package com.wap.provision;
Import java.io.printwriter; import java.sql.connection; import java.sql.sqlexception;
Import javax.servlet.servletinputStream; import javax.xml.parsers.docuildBuilderFactory;
Import org.w3c.dom.document;
Import data.dtime; import data.databean;
Public class Anatomy {Private String TransactionID = ""; // This message number
Private string msgtype = ""; // message type
Private string linkid = ""; // Temporary order relationship transaction ID
Private string version = ""; // The version number of the interface message
Private string actionID = ""; // Service status management action code
Private string actionReasonid = ""; // Generate code for service status management action
Private string spid = ""; // corporate code
Private string spservicEid = ""; // service code
Private string accessmode = ""; // Access mode
Private string featureStr = ""; // Service order parameters
Private string send_deviceType = ""; // sender address
Private string sent_deviceid = "";
Private string dest_deviceType = ""; // Receiver address
Private string dest_deviceid = "";
Private string fee_useridtype = ""; // accounting user ID
PRIVATE STRING FEE_MSISDN = ""
Private string fee_pseudocode = ""; // billboard user MID
Private string dest_useridtype = "";
PRIVATE STRING DEST_MSISDN = "";
Private string dest_pseudocode = "";
Private string hret = ""; // Return value
Private servletinputstream in;
Private PrintWriter Out;
PRIVATE DOCUMENT DOCUMENT;
PRIVATE CONNECTION CON;
Private string [] [] rate; // Exes existing order relationship
Private string [] [] pause; // has been suspended or subscription relationship
String delete_sql_relation;
String delete_sql_pause;
String rate_sql; string pause_sql;
Public Anatomy (ServletInputStream IN, PrintWriter out, connection con) {
Try {this.in = in;
THIS.out = OUT;
THIS.CON = con;
THIS.Document = documentbuilderfactory.newinstance (). NewDocumentBuilder (). Parse (this.in);
GetReqinfo (); // pay each field
IF ("1")) // Fee_UseridType is 1 MID, 2 for the illegal code {rate_sql = "SELECT * from resolution where spserviceid = '" spserviceid "' and feed =" " FeE_MSISDN = '" feedn " ""
Pause_sql = "SELECT * from Pause where spservicEid = '" spserviceid "" "" "" ""
DELETE_SQL_RELATION = "Delete from service where spserviceid = '" spserviceid "" feedn =' " feedn " ""
DELETE_SQL_PAUSE = "Delete from Pause WHERE SPSERVICEID = '" SPSERVICEID "" FEE_MSISDN =' " feedn " '"
} Else {rate_sql = "SELECT * from resolution where spserviceid = '" spserviceid "' and feed = '" feedocode =' " feedocode " ""
Pause_sql = "SELECT * from Pause where spserviceid = '" spserviceid "" feedocode =' " feedocode " ""
delete_Sql_Relation = "DELETE FROM Relation WHERE SPServiceID = '" SPServiceID "' and Fee_PseudoCode = '" Fee_PseudoCode "'"; delete_Sql_Pause = "DELETE FROM Pause WHERE SPServiceID = '" SPServiceID "' and Fee_PseudoCode = '" FeE_Pseudocode "'";
}
RELATION = DATABEAN.GETRESULTTTOARRAY (con, rate_sql); // Getting the current business has been ordered
System.out.print ("REVEICE");
String [] infoarray = this.getinfoarray (); // combine field into array
DATABEAN.INSERTTABLE (Con, "Allreceive", InfoArray); // Insert Synchronous Database Make Record
SYSTEM.OUT.PRINTLN ();
this.sendback (this.getHret ()); // Return status value
} Catch (exception e) {this.sendback ("1"); // unknown error
E.PrintStackTrace ();
}
Private void getReqinfo () // pay each field {
TransactionID = GetNodeValue ("TransactionID", 0);
MsgType = GetNodeValue ("MsgType", 0);
Linkid = GetNodeValue ("LinkID", 0);
Version = GetNodeValue ("Version", 0);
ActionID = GetNodeValue ("ActionID", 0);
ActionReasonid = GetNodeValue ("ActionReasonID", 0);
Spid = GetNodeValue ("spid", 0);
SpServiceId = GetNodeValue ("spserviceid", 0);
Accessmode = GetNodeValue ("AccessMode", 0);
FeatureStr = GetNodeValue ("Featurestr", 0);
Send_DeviceType = GetNodeValue ("DeviceType", 0);
Send_Deviceid = GetNodeValue ("DeviceID", 0);
Dest_DeviceType = GetNodeValue ("DeviceType", 1);
Dest_DeviceID = GetNodeValue ("DeviceID", 1);
FeE_UseridType = GetNodeValue ("UserIdType", 0); Fee_Msisdn = GetNodeValue ("MSISDN", 0);
FeE_Pseudocode = GetNodeValue ("pseudocode", 0);
Dest_UseridType = GetNodeValue ("UserIdType", 1);
Dest_msdn = GetNodeValue ("MSISDN", 1);
Dest_pseudocode = GetNodeValue ("Pseudocode", 1);
}
Private string getNodeValue (string tagname, int index) {
if (document.getElementsByTagName (TagName)! = null && document.getElementsByTagName (TagName) .item (index)! = null && document.getElementsByTagName (TagName) .item (index) .getFirstChild ()! = null) {String value = Document.getElements. ITAGNAME (TAGNAME) .ITEM (Index) .GetfirstChild (). getnodevalue ();
System.out.print (" tagname " = " value);
Return Value;} else {system.out.print ("" tagname "= null");
Return "";
Private string gethret () {
Try {
IF ("SyncOrderRectionReq")) {Return "4000"; // invalid msgtype} else if (Integer.Parseint (ActionReasonT (Integer.Parseint (actionReasonID) <1))) {RETURN "4002"; // invalid actionReasonid} else IF (Integer.Parseint (AccessMode)> 3) || (INTEGER.PARSEINT (AccessMode) <1)) {return "4006"; // invalid AccessMode} ELSE IF ((FeE_MSISDN == Null) && (feed) {return "1";} int id = integer.parseint (actionID);
Switch (id) // reason == NULL This message is not recorded in the relational table. GetInfoarray (); // Order Success / / Insert Table
DATABEAN.INSERTTABLE (Con, "RELATION", InfoArray); // Insert Synchronous Database Make Record
Return "0";} else {return "4007"; // MISC synchronously opened service, but the SP end is present in the order relationship, and the status is open}} Case 2: {if (rate == null) {Return "4011" // mISC synchronously stops service, but there is no order relationship between the SP terminal} else} (= null) {DATABEAN.DELETEROW (CON, DELETE_SQL_RELATION); Return "0";} else return "1";} Case 3: {Pause = DATABEAN.GETRESULTTOARRAY (con, pause_sql);
IF ((transage == null) {return "4016"; // MISC platform activation service, but there is no order relationship between the SP terminal} else} ((Relation! = null) && (Pause = = NULL)) {RETURN "4015"; // MISC platform activation service, but the SP end already has a subscription relationship, cut state is open} else if (pause! = null) {DATABEAN.INSERTTABLE (con, "limited", PAUSE [0]);
DATABEAN.DELETEROW (con, delete_sql_pause);
Return "0"; // Success} Else Return "1";} case 4: {pause = DATABEAN.GETRESULTTOARRAY (con, pause_sql);
IF ((relative == null) {return "4013"; // MISC platform pause service, but there is no order relationship} else if (pause! = null) {RETURN "4014" /////Mc platform suspended service, but the SP end has a subscription relationship, // Sliced status is pause} else if ((Relation! = Null) {DATABEAN.INSERTTABLE (Con, "Pause", RELATION [0]);
DATABEAN.DELETEROW (con, delete_sql_relation);
Return "0";} else returno "1";
} Default: {Return "4001";}}} catch (sqlexception e) {RETURN "1"; // unknown error}
}
Private void sendback (string hret) {
Out.println (""); out.println (""); out.println (" transactionid "); out.println (""); out.println (" "); Out.println (" "); out.println (" 1.5.0 "); out.println (" syncorderrelerationResp "); out.println (" " hret "); out.println ("" " Out.println (""); out.println (""); string [] sendinfo = {TransactionID, hret, new dtime (). Getdtime ()};
System.out.println ("Send TransactionId =" TransactionID "HRET =" HRET);
DATABEAN.INSERTTABLE (Con, "allsend", sendinfo; // Plug the sending record table
Out.close ();
Private string [] getInfoarray () {
String [] InfoArray = {TransactionID, MsgType, LinkID, Version, ActionID, ActionReasonID, SPID, SPServiceID, AccessMode, FeatureStr, Send_DeviceType, Send_DeviceID, Dest_DeviceType, Dest_DeviceID, Fee_UserIDType, Fee_MSISDN, Fee_PseudoCode, Dest_UserIDType, Dest_MSISDN, Dest_PseudoCode, new DTime () .Getdtime ()};
Return Infoarray;
}
}
-------------------------------------------------- ------------------------------
The class of a database that is involved
Package data;
Import java.sql.connection; import java.sql.driverManager; import java.sql.resultset; import java.sql.resultSetMetadata; import java.sql.sqlexception; import java.sql.statement;
Import java.util.Enumeration; import java.util.hashtable;
public class DataBean {// return the array into the database unit according to the number of rows inserted public static int InsertTable (Connection conn, String tableName, String [] rows) {try {Statement stmt = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE) ;
Stringbuffer row = new stringbuffer ();
INT I;
For (i = 0; i Row.Append ("'" rows [i] ""); String SQL = "INSERT INTO" TABLENAME "VALUES (" New String (ROW) ")" Int rowcount = stmt.executeUpdate (SQL); Stmt.close (); Return rowcount; } Catch (sqlexception e) { System.out.println ("INSERT TABLE" TABLENAME "Error"); E.PrintStackTrace (); Return -1;}}} / / Press Condition Delete Return Returns PUBLIC Static Int Deleterow (Connection CONN, STRING SQL) { Try {statement stmt = conn.createstatement (ResultSet.Type_Scroll_Sensitive, ResultSet.concur_Updata); //stmt.execute (SQL); INT rows = stmt.executeUpdate (SQL); stmt.close (); return rows; } Catch (sqlexception e) {system.out.println ("delete SQL =" SQL "Error"); E.PrintStackTrace (); retURN -1;}} // Returns 2 CD sql given array results public static String [] [] getResultToArray (Connection conn, String sql) throws SQLException {Statement stmt = conn.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet RS = Stmt.executeQuery (SQL); IF (DATABEAN.GETROWCOUNTS (RS) == 0) Return NULL; ResultSetmetaData RSMD = rs.getMetadata (); INT ROWS = DATABEAN.GETROWCOUNTS (RS); String [] information = new string [rows] [rsmd.getcolumncount () - 1]; While (rs.next ()) { IF (Rs.Getrow ()> ROWS) Break; for (int J = 0; j Rs.close (); Stmt.close (); Return Information; } Public Static Int Getrowcounts (ResultSet RS) { INT counts = 0; Try {while (rs.next ()) {counts ;} Rs.beforefirst (); Return Count; } Catch (exception e) {system.out.println ("getRowcounts Error"); E.PrintStackTrace (); Return -1; } Public static connection getConnection (String DBName, String User, String Password) throws Sqlexception, Exception { Class.Forname ("com.microsoft.jdbc.sqlser.sqlserverdriver); // I use MS SQL String Url =" JDBC: Microsoft: SQLServer: //127.0.0.1: 1433; DatabaseName = " DBNAME; Connection Conn = DriverManager.getConnection (URL, User, Password); Return conn; } } -------------------------------------------------- ------------------------------ Table structure in the database library CREATE TABLE [DBO]. [Allreceive] ([id] [int] Identity (1, 1) not null, [transactionid] [varcha] (50) collate Chinese_prc_ci_as null, [msgtype] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [LinkID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Version] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [ActionID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [ActionReasonID] [ varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [SPID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [SPServiceID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [AccessMode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [FeatureStr ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Send_DeviceType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Send_DeviceID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Dest_DeviceType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Dest_Deviceid] [varchar] (50) CO LLATE Chinese_PRC_CI_AS NULL, [Fee_UserIDType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Fee_MSISDN] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Fee_PseudoCode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Dest_UserIDType] [varchar] ( 50) COLLATE Chinese_PRC_CI_AS NULL, [Dest_MSISDN] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [Dest_PseudoCode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [DTime] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL) which then create two The same table of the structure is all ALLRECEIVE stores all Provision Request data. Relation currently existing subscription relationships of PAUSE currently suspended subscription relationships Create Table [DBO]. [Allsend] ([ID] [INT] Identity (1, 1) Not null, [TransactionID] [VARCHAR] (50) Collate Chinese_PRC_CI_AS NULL, [HRET] [varchar] (50) collate Chinese_prc_ci_as null , [DTIME] [VARCHAR] (50) collate chinese_prc_ci_as null) This table stores all return status code // This part of the code is basically satisfied, and after the change is not changed; // After the SP receives the synchronous request package, the order request is handled accordingly, and the order relationship synchronization response syncorderReranceResP // Misc receives the answer package, Based on whether the return result is correct, formal order relationship is generated in the system or cancel the ordering relationship, and the 1862 system will issue a subscription to the user to successfully or cancel successful alert message // SyncorderReranceResp message field description: // field name Importance Type Description // msgtype must string Message Type // TransactionID Must String This message number // Version must string the version number of the interface message, this time all of the interface messages are "1.5.0" // hret must INTEGER Return value, The main mistakes are as follows: // 0: Success // 4007: MISC synchronous open service, but the SP end has a subscription relationship, and the status is open // 4008: MISC synchronous open service, and there is no order relationship, but open service Failure // 4010: MISC Synchronous Stop Service, and the SP end has a subscription relationship, but the cancel service failed // 4011: MISC synchronously stopped service, but the SP terminal does not have order relationships // 4012: MISC Synchronous pause service, and the SP end exists Order relationship, but suspend service failed // 4013: MISC synchronous pause service, but there is no order relationship // 4015: MISC synchronous activation service, but the SP end has a subscription relationship, and the state is Open // 4016: MISC synchronization Activate the service, but there is no order relationship / / other errors, please refer to the "MISC System SMS SP Access Guide - Interface Reform Volume". XMLns: soap-env = "http://schemas.xmlsoap.org/soap/envelop/" xmlns: soap-enc = "http://schemas.xmlsoap.org/soap/encoding/" xmlns: xsi = "http : //www.w3.org/2001/xmlschema-instance "xmlns: xsd =" http://www.w3.org/2001/xmlschema "xmlns: dsmp =" http://www.monternet.com/dsmp / Schemas / "> SyncorderReranceResp Title: Re: provision of interfaces: Mouse Time: Order webservice interface code with the provision of the following interfaces are implemented using .net .asmx do and what friends do not need an API Aspire: 06-02-05 16:21 Accessories Socket, parsing the XML yourself. Anyway the effect is almost the example inside the appendix of the Zhuo Wang Document. I didn't measure myself. And some problems in the Zhuo Wang documentation are unclear, can only be done. Anyway, I think they are not very good, if I am, I will not design. using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml; using System.xml.Serialization; use system.web.services.description; namespace provision { [Xmlroot (namespace = "http://www.monternet.com/dsmp/schemas/")] public class transactionId: soapheader {[xmlText (TypeOf (string)] public string id;} Public class userid {public interseridType; public string msisdn; public string pseudocode;} [Xmlroot (Namespace = "http://aaa.com/")] public class addressinfo {public intend deviceId; Public class syncorderReranceResp {public string version; public string msgtype; public int hret;} /// /// Summary description for Service1./// [WebService (Namespace = "http://12345.com.cn")] [SoapDocumentService (RoutingStyle = SoapServiceRoutingStyle.RequestElement)] public class Provision: System.Web. Services.webservice {public provision () {// codegen: this call is required by the asp.net web services designer initializecomponent (); #region Component Designer generated code // Required by the Web Services Designer private IContainer components = null; /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor //. / Private vid initializeComponent () {} ///// Clean Up any resources being used. /// protected {ix (Disposing && Components! = NULL) {Components.dispose ();} base.dispose #ndregion // WEB SERVICE EXAMPLE // The HelloWorld () example service returns the string Hello World // To build, uncomment the following lines then save and build the project // To test this web service, press F5public TransactionID transID; [WebMethod] [SoapHeader ( "transID", Direction = SoapHeaderDirection.InOut)] [SoapDocumentMethod ( "", RequestElementName = "SyncOrderRelationReq", ResponseElementName = "SyncOrderRelationResp")] [return: System.Xml.Serialization.SoapElementAttribute ( "return" )] public void SyncOrderRelationReq (ref string Version, ref string MsgType, AddressInfo Send_Address, AddressInfo Dest_Address, UserID FeeUser_ID, UserID DestUser_ID, string LinkID, int ActionID, int ActionReasonID, string SPID, string SPServiceID, int AccessMOde, byte [] FeatureStr, out INT hret) {Version = "1.5.0"; msgtype = "syncorderReranceResp"; hret = 0;}}} I understand it? Title: Re: provision of interfaces: Mouse Date: 06-02-05 16:21 Attachment: Example: MISC test did not go through XMLns: XSI = "http://www.w3.org/2001/xmlschema-instance" xmlns: xsd = "http://www.w3.org/2001/xmlschema" xmlns: soap-env = "http: / /schemas.xmlsoap.org/soap/envelope/ "XMLns: soap-enc =" http://schemas.xmlsoap.org/soap/encoding/ "> XMLns = "http://www.monternet.com/dsmp/schemas/"> XMLns = "http://www.monternet.com/dsmp/schemas/> 1.5.0syncorderReLanceResp //function.asp' ------- get XML stream -------- Function GetData (URL) DIM httpset http = server.createObject ("msxml2.xmlhttp") http.open "get" , url, falseHttp.setrequestHeader "Accept-Language", "zh-cn" Http.send () if Http.readystate <> 4 then exit functionend if getdata = Http.responseBody set http = nothingif err.number <> 0 then err .Clear end function '--------- get an XML node value, rootnode-> parent node, node_name-> node name ------- function node_value (rootnode, node_name) Node_Value = "" Set recordlist = objxml.getElementsBytagname (rootnode) node_value = recordlist (0) .selectsinglenode (node_name) .text set recordlist = Nothing end function '------ SpServiceID-> Business code, Feeuser_Msisdn-> Mobile number ----------------------------'-- ---- Provision interface business handler 'User Order Service Function User_Register (SpServiceID, Feeuser_MSISDN) END FUNCTION 'User stop service function user_stop (spserviceid, feedr_msdn) END FUNCTION 'User Activation Services Function User_Active (SpServiceID, Feeuser_Msisdn) END FUNCTION 'User pause service function user_pause (spserviceid, feedr_msisdn) END FUNCTION XMLns: XSI = "http://www.w3.org/2001/xmlschema-instance" xmlns: xsd = "http://www.w3.org/2001/xmlschema" xmlns: soap-env = "http: / /schemas.xmlsoap.org/soap/envelope/ "XMLns: soap-enc =" http://schemas.xmlsoap.org/soap/encoding/ "> XMLns = "http://www.monternet.com/dsmp/schemas/"> XMLns = "http://www.monternet.com/dsmp/schemas/> 1.5.0syncorderReLanceResp Title: Re: provision of interfaces: Mouse Date: 06-02-05 16:22 Accessories: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.IO; using System.Text; using System.Diagnostics; using System.Web; using System.Web.Services; using System.Web.SessionState; using System.Web.Services.Protocols; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization Using system.web.services.description; Namespace provision {/// /// DSMP summary description. /// [WebService (Namespace = "http://www.monternet.com/dsmp/schemas/)] public class provision: system.web.services.Webservice {public provision () {initializationComponent ();} #REGION component designer generated code // Web Service Designer The private icontainer components = null; // // // Designer supports the required method - do not use the code editor to modify the // / this method. /// private vid initializeComponent () {} / / / / / Clean all the resources being used. /// Protected Override Void Dispose (Bool Disposing) {IF (Disposing && Components! = NULL) {Components.dispose ();} Base.Dispose (Disposing); #ndregion Public TransactionId TransactionId TransactionId; [WebMethod] [SoapHeader ( "transID", Direction = SoapHeaderDirection.InOut)] [SoapDocumentMethod ( "sim.SyncOrderRelation", RequestElementName = "SyncOrderRelationReq", ResponseElementName = "SyncOrderRelationResp", Use = System.Web.Services.Description.SoapBindingUse. literal)] [return: System.Xml.Serialization.SoapElementAttribute ( "return")] public void SyncOrderRelation ([XmlElement (Form = XmlSchemaForm.Unqualified)] ref string Version, [XmlElement (Form = XmlSchemaForm.Unqualified)] ref string MsgType , [XmlElement (Form = XmlSchemaForm.Unqualified)] AddressInfo Send_Address, [XmlElement (Form = XmlSchemaForm.Unqualified)] AddressInfo Dest_Address, [XmlElement (Form = XmlSchemaForm.Unqualified)] UserID FeeUser_ID, [XmlElement (Form = XmlSchemaForm.Unqualified)] UserID DestUser_ID, [XmlElement (Form = XmlSchemaForm.Unqualified)] string LinkID, [XmlElement (Form = XmlSchemaForm.Unqualified)] int ActionID, [XmlElement (Form = XmlSchemaForm.Unqualified)] int ActionReasonID, [XmlElement (Form = XmlSchemaForm.Unqualified )] String SPID, [XMLELEMENT (form = XML SchemaForm.Unqualified)] string SPServiceID, [XmlElement (Form = XmlSchemaForm.Unqualified)] int AccessMode, [XmlElement (Form = XmlSchemaForm.Unqualified)] byte [] FeatureStr, [XmlElement (Form = XmlSchemaForm.Unqualified)] out int hRet) {Version = "1.5.0"; hret = 0; msgtype = "synorderReranceReq";}} [xmlroot (Namespace = "http://www.monternet.com/dsmp/schemas/)] public class transactionId: soapheader { [XMLText (TypeOf (String)] public string id;} public class UserID {[XmlElement (Form = XmlSchemaForm.Unqualified)] public int UserIDType; [XmlElement (Form = XmlSchemaForm.Unqualified)] public string MSISDN; [XmlElement (Form = XmlSchemaForm.Unqualified)] public byte [] PseudoCode;} public Class addressinfo {[xmlelement] public int deb deficetype; [xmlelement] public string deviceidId;}} TRACKBACK: http://tb.blog.9cbs.net/trackback.aspx?postid=592719