移动的provision接口

C#:
dsmp.asmx

<%@ WebService Language="c#" Codebehind="dsmp.asmx.cs" Class="Provision.Provision" %>

 

dsmp.asmx.cs

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
{
    
/// <summary>
    
/// dsmp 的摘要说明。
    
/// </summary>

    [WebService(Namespace="http://www.monternet.com/dsmp/schemas/")]
    
public class Provision : System.Web.Services.WebService
    
{
        
public Provision()
        
{
            InitializeComponent();
        }


        
组件设计器生成的代码

        
public TransactionID transID;

        [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
=XmlSchemaForm.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 
= "SynOrderRelationReq";
        }

    }


    [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(Form
=XmlSchemaForm.Unqualified)]
        
public int DeviceType;
        [XmlElement(Form
=XmlSchemaForm.Unqualified)]
        
public string DeviceID;
    }

}

JAVA

<?xml version="1.0" encoding="UTF-8"?>
<%@ page import="java.io.*" %>

<%Connection conn = null;%>
<%@ include file="inc/page_db.jsp" %>

<%
String miscId 
= "0999";//MISC
int result = -3;
try
{
       
       String xmldata 
= "";
       
//xmldata = request.getQueryString();
       BufferedReader  reader = request.getReader();
       String s 
= "";
       
try{
              
while((s=reader.readLine())!=null)
              
{
                     xmldata 
+= (s+" ");
              }

       }

       
catch(Exception e){}
       reader.close();
       xmldata 
= xmldata.trim();
       log.debug(xmldata);
       
       String mid 
= XMLParser.getXmlValue(xmldata,"mid");
       String transId 
= getXmlValue(strXml,"TransactionID");

       log.debug(
"mid:"+mid);
       
if(mid!=null && mid.trim().length()==14)
       
{
              mid 
= mid.trim();
              String action 
= XMLParser.getXmlValue(xmldata,"ActionID");
              
if(action!=null)
              
{
                     action 
= action.trim();
                     
int ac = 0;
                     
try
                     
{
                            ac 
= Integer.parseInt(action);
                     }

                     
catch(Exception e)
                     
{
                     }

                     String serviceId 
= XMLParser.getXmlValue(xmldata,"SPServiceID");
                     
//System.out.println("provision!mid:"+mid+" action_id:"+action+"service:"+serviceId);
                     
//miscId = Misc.getUserArea(mid);
                     String mobile = XMLParser.getXmlValue(xmldata,"mobile_id");
                     
if(mobile != null && mobile.length()<11)
                     
{
                            mobile 
= request.getParameter("HTTP_X_UP_CALLING_LINE_ID");
                     }

                     String accessMode 
= XMLParser.getXmlValue(xmldata,"AccessMode");
                     MonterWapUser user 
= new MonterWapUser(conn,mid,serviceId,miscId);
                     
switch(ac){
                            
case 1:
                                   result 
= user.register(mobile,accessMode);
                                   
break;
                            
case 2:
                                   result 
= user.unregister();
                                   
break;
                            
case 3:
                                   result 
= user.activate();
                                   
break;
                            
case 4:
                                   result 
= user.pause();
                                   
break;
                            
default:
                                   result 
= -1;
                                   
break;
                     }

                     user.provLog(ac,accessMode);
              }

       }

}

catch(Exception e)
{
}
finally{
       closeConn(conn);
}

String resultStr 
= result==0 ? "sucess":"fail";
%>
<SOAP-ENV:Envelope 
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/">
    
<SOAP-ENV:Header>
        
<TransactionID 
xmlns
="http://www.monternet.com/dsmp/schemas/"><%=transId%></TransactionID>
    
</SOAP-ENV:Header>
    
<SOAP-ENV:Body>
        
<SyncOrderRelationResp 
xmlns
="http://www.monternet.com/dsmp/schemas/">
            
<Version>1.5.0</Version>
            
<MsgType>SyncOrderRelationResp</MsgType>
            
<hRet><%=result%></hRet>
        
</SyncOrderRelationResp>
    
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> 

ASP

<!--#include file=function.asp-->
<%
url
="http://www.monternet.com/dsmp/schemas/"  'dsmp地址
strxml=getdata(url)
Set objXML = Server.CreateObject("MSXML2.DOMDocument")
objXML.load(strxml)

'--------取出相关节点值--------
'
随机串
TransactionID       = node_value("SOAP-ENV:Header","TransactionID")
'用户手机
FeeUser_MSISDN       = node_value("FeeUser_ID","MSISDN")
'根据此值来判断用户的操作:1-开通服务;2-停止服务;3-激活服务;4-暂停服务
ActionID              = node_value("SyncOrderRelationReq","ActionID")
'SP业务代码
SPServiceID              = node_value("SyncOrderRelationReq","SPServiceID")
'服务的访问方式:1-WEB 2-WAP 3-SMS.
AccessMode              = node_value("SyncOrderRelationReq","AccessMode")
'临时订购关系的事务ID
LinkID                     = node_value("SyncOrderRelationReq","LinkID")

select case ActionID
       
case 1:result = user_register(SPServiceID,FeeUser_MSISDN)'用户订购服务
          case 2:result = user_stop(SPServiceID,FeeUser_MSISDN)'用户停止服务
          case 3:result = user_active(SPServiceID,FeeUser_MSISDN)'用户激活服务
          case 4:result = user_pause(SPServiceID,FeeUser_MSISDN)'用户暂停服务
          case else:result=-1
end select
'response.write actionid
set objXML=nothing
%
>
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope 
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/">
    
<SOAP-ENV:Header>
        
<TransactionID 
xmlns
="http://www.monternet.com/dsmp/schemas/"><%=TransactionID%></TransactionID>
    
</SOAP-ENV:Header>
    
<SOAP-ENV:Body>
        
<SyncOrderRelationResp 
xmlns
="http://www.monternet.com/dsmp/schemas/">
            
<Version>1.5.0</Version>
            
<MsgType>SyncOrderRelationResp</MsgType>
            
<hRet><%=result%></hRet>
        
</SyncOrderRelationResp>
    
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>




//function.asp
'--------取得XML流--------
function getdata(url)
    
dim Http
    
set Http=server.createobject("MSXML2.XMLHTTP")
    Http.open 
"GET",url,false
    Http.setrequestHeader 
"Accept-Language","zh-cn"
    Http.send()
    
if Http.readystate<>4 then 
        
exit function
    
end if
       getdata
=Http.responseBody
       
    
set http=nothing
    
if err.number<>0 then err.Clear 
end function

'---------取得XML节点值,rootnode->父节点,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->业务代码,FeeUser_MSISDN->手机号-----------------------------
'
------PROVISION接口业务处理函数

'用户订购服务
function user_register(SPServiceID,FeeUser_MSISDN)

end function

'用户停止服务
function user_stop(SPServiceID,FeeUser_MSISDN)

end function

'用户激活服务
function user_active(SPServiceID,FeeUser_MSISDN)

end function

'用户暂停服务
function user_pause(SPServiceID,FeeUser_MSISDN)

end function

'------------------------------------------------------------------------------
%> 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值