移动的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、付费专栏及课程。

余额充值