以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于webservers发送短信的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79806)

--  作者:chenjiu6202
--  发布时间:2016/1/9 14:24:00
--  关于webservers发送短信的问题
我想利用webservers接口进行第三方短信发送,
厂家给我发来一个API说明和Asp.net的一个实例,一头雾水不知从何下手,
诚恳请哪位老师给我说一说,帮帮我!先表示感谢!下面是那个实例的一部分
<%
url = "http://service2.winic.org/Service.asmx"  \'webservice 地址

\'==============================查询账户信息
function GetUserInfo(uid,pwd)
SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
"<soap:Body>"& _
"<GetUserInfo xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
"<uid>"&uid&"</uid>"& _
"<pwd>"&pwd&"</pwd>"& _
"</GetUserInfo>"& _
"</soap:Body>"& _
"</soap:Envelope>"

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/GetUserInfo" \'一定要与WEBSERVICE的命名空间相同,否则服务会拒绝
xmlhttp.Send(SoapRequest)
\'\'样就利用XMLHTTP成功发送了与SOAP示例所符的SOAP请求.\'检测一下是否返回200=成功: 
     If xmlhttp.Status = 200 Then
        Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
        xmlDOC.load(xmlhttp.responseXML)
            GetUserInfo=xmlDOC.documentElement.selectNodes("//GetUserInfoResult")(0).text \'显示节点为GetUserInfoResult的数据(返回字符串)
        Set xmlDOC = nothing
    Else
        GetUserInfo=xmlhttp.Status&"&nbsp;"
        GetUserInfo=xmlhttp.StatusText
    End if
        Set xmlhttp = Nothing
end function

--  作者:Hyphen
--  发布时间:2016/1/9 14:41:00
--  
方便就把文档和示例发上来
--  作者:大红袍
--  发布时间:2016/1/10 12:30:00
--  

直接用get请求简单方便啊

 

http://service2.winic.org/Service.asmx

 

比如,红色的替换测自己的值

 

http://service2.winic.org/Service.asmx/EditUserInfo?GetUserInfo?uid=string&pwd=string

 


--  作者:大红袍
--  发布时间:2016/1/10 12:30:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73839&skin=0

 


--  作者:chenjiu6202
--  发布时间:2016/1/20 18:07:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160120180005.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160120180041.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160120180152.png
图片点击可在新窗口打开查看

 

这三张图片是厂家的API说明,http://10.1.1.10/API/BS3Webservice.asmx是访问地址,有用户名和密码

用post和get都不能成功发短信,也许要用soap调用,哪位老师帮忙给看看,怎么样才能发出去短信,谢谢!


--  作者:大红袍
--  发布时间:2016/1/20 18:19:00
--  

参考3楼,4楼啊。

 

get、post肯定可以发送成功短信啊。

 

http://www.foxtable.com/help/topics/2243.htm

 


--  作者:chenjiu6202
--  发布时间:2016/1/21 18:46:00
--  

袍哥,用你给的例子,无论是post还是get都是只打开一个网页,用户名和密码等都用的

是Api的说明,你看看下面代码哪里错误了啊,第一个用get

Dim url  As  String
Dim http As Object
url =  "http://10.1.1.10/API/BS3Webservice.asmx?UserName=ytzdtlxxzx&UserPsw=123456&SMSMobile=13734562406&SMSC"
http = CreateObject("MSXML2.XMLHTTP")
http.Open("get", url, False)
http.send()
MessageBox.Show("返回信息:" & http.responseText)

 

第二个用post

 

Dim url As String = "http://10.1.1.10/API/BS3Webservice.asmx?UserName=ytzdtlxxzx&UserPsw=123456&SMSMobile=13734562406&SMSC"

Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)

Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse

Dim stm As System.IO.Stream = rsps.GetResponseStream()

Dim reader As New System.IO.StreamReader(stm)

Dim str As String = reader.ReadToEnd

rsps.Close
stm.Close
reader.close

msgbox(str)

袍哥帮忙给看看,究竟怎么回事啊

 


--  作者:大红袍
--  发布时间:2016/1/21 20:49:00
--  

别人无法测试你 10.1.1.10 这个ip地址啊。

 

就是那样调用。你的地址肯定有问题,看3楼啊

 

url =  "http://10.1.1.10/API/BS3Webservice.asmx/具体方法名?UserName=ytzdtlxxzx&UserPsw=123456&SMSMobile=13734562406&SMSC"

 


--  作者:chenjiu6202
--  发布时间:2016/1/22 8:59:00
--  

Dim url  As  String
Dim http As Object
url =  "http://10.1.1.10/API/BS3Webservice.asmx/GetBalance?UserName=ytzdtlxxzx&UserPsw=123456"
http = CreateObject("MSXML2.XMLHTTP")
http.Open("get", url, False)
http.send()
MessageBox.Show("返回信息:" & http.responseText)

这是我的代码,连接后返回信息为下面这张图片

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160122085244.jpg
图片点击可在新窗口打开查看

--  作者:chenjiu6202
--  发布时间:2016/1/22 9:02:00
--  

他的网页里面应该加入

web.config文件中的 <system.web> 节点下加入:
<webServices>
    <protocols>
        <add name= "HttpPost"/>
        <add name= "HttpGet"/>
    </protocols>
</webServices>

这样我才能支持get和post调用,但是现在get和post调用都不行,应该只能用soap啊

袍哥,有更好的办法一定要帮帮我啊