<% url = "http://service2.winic.org:8003/Service.asmx" 'webservice 地址 '============================== '通过 ADODB.Stream 流化后 用 xml 转化base64 编码 哈哈 function Goodfile(filepath) Dim xmlDoc Dim xmlNode Set xmlDoc = Server.CreateObject("MSXML2.DOMDocument") xmlDoc.insertBefore xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""utf-8"""), xmlDoc.childNodes(0) xmlDoc.appendChild xmlDoc.createElement("bin") Set xmlNode = xmlDoc.documentElement Dim objFile Set objFile = Server.CreateObject("ADODB.Stream") objFile.Type = 1 objFile.Open objFile.LoadFromFile filepath xmlNode.dataType = "bin.base64" xmlNode.nodeTypedValue = objFile.Read(-1) objFile.Close Set objFile = Nothing Response.ContentType = "text/html" Goodfile=xmlNode.Text ' Response.ContentType = "text/xml" 'xmlDoc.Save Response Set xmlDoc = Nothing end function '======================================= '==============================发送短信函数 function SendVoice(uid,pwd,vto,vtxt,vmode,vfbtye,svrno,str_time,end_time) SoapRequest=""& _ ""& _ ""& _ ""& _ ""&uid&""& _ ""&pwd&""& _ ""&vto&""& _ ""&vtxt&""& _ ""&vmode&""& _ ""&vfbtye&""& _ ""&svrno&""& _ ""&str_time&""& _ ""&end_time&""& _ ""& _ ""& _ "" Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP") xmlhttp.Open "POST",url,false xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8" xmlhttp.setRequestHeader "HOST","service2.winic.org" xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest) xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/SendVoice" '一定要与WEBSERVICE的命名空间相同,否则服务会拒绝 xmlhttp.Send(SoapRequest) ''样就利用XMLHTTP成功发送了与SOAP示例所符的SOAP请求.'检测一下是否返回200=成功: If xmlhttp.Status = 200 Then Set xmlDOC = server.CreateObject("MSXML.DOMDocument") xmlDOC.load(xmlhttp.responseXML) SendVoice=xmlDOC.documentElement.selectNodes("//SendVoiceResult")(0).text '显示节点为GetUserInfoResult的数据(返回字符串) Set xmlDOC = nothing Else SendVoice=xmlhttp.Status&" " SendVoice=xmlhttp.StatusText End if Set xmlhttp = Nothing end function '================================取数组中的一个 function split_str(str,sint) on error resume next dim tempstr tempstr=split(str,"/") '/号分割 split_str=tempstr(sint) end function '============================== dim vfbtye uid="your_id" '你申请的用户名 pwd="your_pwd" '你申请的密码 vto=request("telNo") '电话号码 vtxt=request("tre_Note_Content") '语音内容 vmode=request("rbt_Sound_mode") '传送方式 svrno=request("txt_Sound_phone") '服务号码 最多五个 用逗号(",")隔分 str_time="" end_time="" txtPhone=trim(request.Form("telNo")) '群发号码用逗号(",")分隔 txtPhone=replace(txtPhone,chr(10),",") txtPhone=replace(txtPhone,chr(13),"") txtPhone=replace(txtPhone," ","") txtPhone=replace(txtPhone,",",",") IF vmode = "3" THEN '注意: 取绝对路径哦。如果在服务器上要先文件上传到服务器 再取文件绝对路径 如"d:xx.doc" vfbtye=Goodfile(request.Form("file_Sound")) END IF msg =SendVoice(uid,pwd,txtPhone,vtxt,vmode,vfbtye,svrno,str_time,end_time ) if len(msg)>5 then errmsg="恭喜!发送成功:编号是:"&msg else errmsg="发送失败:错误码是:"&msg end if response.Write "" %>