亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP調用WEBSERVICE文檔

2019-11-18 19:26:31
字體:
來源:轉載
供稿:網友

----INDEX----
1. soap請求方式
2. post請求方式
3. SHOWALLNODE函數(關于節點各屬性和數據顯示)
---------------------
一.SOAP請求示例
下面是一個 SOAP 請求示例。所顯示的占位符需要由實際值替換。
POST /WebService1/UserSignOn.asmx HTTP/1.1
Host: 192.100.100.81
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="
  <soap:Body>
    <LoginByAccount xmlns="
      <username>string</username>
      <pass
Word>string</password>
    </LoginByAccount>
  </soap:Body>
</soap:Envelope>
為了與WEBSERVICE交互,需要構造一個與上完全相同的SOAP請求:
<%
url = "

Soa"<soap:Envelope xmlns:xsi="&CHR(34)&""xmlns:xsd="&CHR(34)&""xmlns:soap="&CHR(34)&""<soap:Body>"& _

"<LoginByAccount xmlns="&CHR(34)&""<username>"&username&"</username>"& _
"<password>"&password&"</password>"& _
"</LoginByAccount>"& _

"</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","192.100.100.81"
xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
xmlhttp.setRequestHeader "SOAPAction", "xmlhttp.Send(SoapRequest)
‘這樣就利用XMLHTTP成功發送了與SOAP示例所符的SOAP請求.
‘檢測一下是否成功:
Response.Write xmlhttp.Status&”&nbsp;”
Response.Write xmlhttp.StatusText
Set xmlhttp = Nothing
%>
如果成功會顯示200 ok,不成功會顯示 500 內部服務器錯誤〿 Connection: keep-alive .
成功后就可以利用WEBSERVICE的響應,如下:
SOAP響應示例
下面是一個 SOAP 響應示例。所顯示的占位符需要由實際值替換。
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="
  <soap:Body>
    <LoginByAccountResponse xmlns="
      <LoginByAccountResult>string</LoginByAccountResult>
    </LoginByAccountResponse>
  </soap:Body>
</soap:Envelope>
這是與剛才SOAP請求示例所對應的SOAP響應示例,在成功發送請求后,就可以查看該響應 :
If xmlhttp.Status = 200 Then

Set xmlDOC =server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
xmlStr = xmlDOC.xml
Set xmlDOC=nothing
xmlStr = Replace(xmlStr,"<","&lt;")
xmlStr = Replace(xmlStr,">","&gt;")
Response.write xmlStr
Else

Response.Write xmlhttp.Status&"&nbsp;"
Response.Write xmlhttp.StatusText

End if
請求正確則給出完整響應,請求不正確(如賬號,密碼不對)響應的內容就會信息不完整.
取出響應里的數據,如下:
If xmlhttp.Status = 200 Then

Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
Response.Write xmlDOC.documentElement.selectNodes("http://LoginByAccountResult")(0).text ‘顯示節點為LoginByAccountResult的數據(有編碼則要解碼)
Set xmlDOC = nothing

Else

Response.Write xmlhttp.Status&"&nbsp;"
Response.Write xmlhttp.StatusText


End if

顯示某節點各個屬性和數據的FUNCTION:

Function showallnode(rootname,myxmlDOC)'望大家不斷完鄯 2005-1-9 writed by 844
if rootname<>"" then

set nodeobj=myxmlDOC.documentElement.selectSingleNode("http://"&rootname&"")'當前結點對像
nodeAttributelen=myxmlDOC.documentElement.selectSingleNode("http://"&rootname&"").attributes.length'當前結點屬性數

returnstring=returnstring&"<BR>節點名稱:"&rootname

if nodeobj.text<>"" then
returnstring=returnstring&"<BR>節點的文本:("&nodeobj.text&")"
end if

returnstring=returnstring&"<BR>{<BR>"

if nodeAttributelen<>0 then
returnstring=returnstring&"<BR>屬性數有&nbsp; "&nodeAttributelen&" 個,分別是:"
end if

for i=0 to nodeAttributelen-1
returnstring=returnstring&"<li>"&nodeobj.attributes(i).Name&":&nbsp;"&nodeobj.getAttribute(nodeobj.attributes(i).Name)&" </li>"
next

if nodeobj.childNodes.Length<>0 then
if nodeobj.hasChildNodes() and lcase(nodeobj.childNodes.item(0).nodeName)<>"#text"  then'是否有子節點
set childnodeobj=nodeobj.childNodes
childnodelen=nodeobj.childNodes.Length
returnstring=returnstring&"<BR><BR>有 "&childnodelen&" 個子節點;<BR>分別是: "
for i=0 to childnodelen-1
returnstring=returnstring&"<li>"&childnodeobj.item(i).nodeName&"</li>"
next
end if
end if

returnstring=returnstring&"<BR>}<BR>"
response.write returnstring
set nodeobj=nothing
end if
End Function
可以這樣用:
If xmlhttp.Status = 200 Then

Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
showallnode "LoginByAccountResponse",xmlDOC’調用SHOWALLNODE
Set xmlDOC = nothing

Else

Response.Write xmlhttp.Status&"&nbsp;"
Response.Write xmlhttp.StatusText

End if

二.POST請求示例
HTTP POST
下面是一個 HTTP POST 請求示例。所顯示的占位符需要由實際值替換。
POST /WebService1/UserSignOn.asmx/LoginByAccount HTTP/1.1
Host: 192.100.100.81
Content-Type:
application/x-www-form-urlencoded
Content-Length: length

username=string&password=string
構造POST請求:
<%
url = "

Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
xmlhttp.Open "POST",url,false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"’注意
xmlhttp.setRequestHeader "HOST","192.100.100.81"
xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)

xmlhttp.Send(SoapRequest)
‘這樣就利用XMLHTTP成功發送了與HTTP POST示例所符的POST請求.
‘檢測一下是否成功:
Response.Write xmlhttp.Status&”&nbsp;”
Response.Write xmlhttp.StatusText
Set xmlhttp = Nothing
%>
如果成功會顯示200 ok,不成功會顯示 500 內部服務器錯誤〿 Connection: keep-alive .
成功后就可以利用WEBSERVICE的響應,如下:
HTTP POST
下面是一個 HTTP POST 響應示例。所顯示的占位符需要由實際值替換。
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="
>


顯示:
If xmlhttp.Status = 200 Then

Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
showallnode "string",xmlDOC'調用SHOWALLNODE
Set xmlDOC = nothing

Else

Response.Write xmlhttp.Status&"&nbsp;"
Response.Write xmlhttp.StatusText

End if


以上是
asp用XMLHTTP組件發送SOAP請求,調用WEBSERVICE的方法,本人推薦在ASP環境下使用第一種方法,如果有更好的方法請聯系本人mailto:lyq8442002@msn.com .使用HTTP GET的方式如果有中文會出問題,數據量又不大。用HTTP POST的方法感覺多此一舉,其實上面的例子就是用POST的方式,只不過不是用POST的請求。用SOAP TOOLKIT要裝軟件,而且已沒有后繼版本。---全文完


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日本中文字幕| 色综合91久久精品中文字幕| 国产精品美女免费| 成人免费福利视频| 91亚洲精品视频| 亚洲欧美在线一区| 蜜月aⅴ免费一区二区三区| 亚洲国产美女精品久久久久∴| 国产精品福利久久久| 久久99精品久久久久久噜噜| 亚洲久久久久久久久久| 久久精品国产清自在天天线| 久久久精品一区二区三区| 姬川优奈aav一区二区| 欧美激情小视频| 日韩中文综合网| 宅男66日本亚洲欧美视频| 亚洲色图17p| 成人精品久久av网站| 亚洲欧洲免费视频| 精品久久久久久亚洲国产300| 欧美成人在线免费视频| 久久视频在线免费观看| 国产精品va在线播放我和闺蜜| 亚洲欧洲一区二区三区在线观看| 久久久天堂国产精品女人| 97久久国产精品| 精品久久久香蕉免费精品视频| 欧美精品电影在线| 九九精品视频在线| 国产精品欧美亚洲777777| 欧美日韩国产色| 国产va免费精品高清在线观看| 亚洲欧美在线播放| 精品国产欧美成人夜夜嗨| 欧美视频中文字幕在线| 91香蕉嫩草神马影院在线观看| 97国产精品久久| 亚洲区中文字幕| 最近2019免费中文字幕视频三| 在线观看免费高清视频97| 久久久久久久香蕉网| 亚洲精品第一国产综合精品| 51久久精品夜色国产麻豆| 2020久久国产精品| 亚洲欧美日韩在线高清直播| 国产精品视频免费在线观看| 成人免费自拍视频| 精品亚洲男同gayvideo网站| 国产成人精品在线视频| 中文字幕欧美视频在线| 91色视频在线观看| 欧美日本在线视频中文字字幕| 欧美黑人一级爽快片淫片高清| 美女av一区二区三区| 国产精品揄拍500视频| 中文日韩在线视频| 欧美成人免费大片| 欧美中文字幕第一页| 国产主播喷水一区二区| 日韩综合视频在线观看| 国产欧美一区二区三区久久| 亚洲精品综合精品自拍| 国产精品欧美日韩一区二区| 欧美超级乱淫片喷水| 成人网址在线观看| 国产精品日韩av| 亚洲男人的天堂网站| 国产精品视频26uuu| 欧美丰满少妇xxxxx| 亚洲四色影视在线观看| 午夜伦理精品一区| 国产精品一区二区av影院萌芽| 亚洲成人精品在线| 懂色av一区二区三区| 欧美高清一级大片| 欧美做受高潮电影o| 午夜剧场成人观在线视频免费观看| 久久久久久久亚洲精品| 久久亚洲一区二区三区四区五区高| 欧美精品videosex极品1| 国产成人在线播放| 久久中文字幕视频| 一区二区三区国产在线观看| 欧美电影电视剧在线观看| 国产精品久久久久久久久久久不卡| 亚洲国语精品自产拍在线观看| 亚洲色图国产精品| 久久精品青青大伊人av| 日韩免费在线播放| 国产精品海角社区在线观看| 91在线播放国产| 日韩小视频在线| 久久99亚洲精品| 在线成人激情视频| 日韩高清电影好看的电视剧电影| 中文字幕日韩在线播放| 性欧美xxxx| 91久久精品日日躁夜夜躁国产| 久久中文字幕国产| 韩日欧美一区二区| 欧美一级大片视频| 97视频在线观看免费高清完整版在线观看| 精品福利一区二区| 欧美午夜xxx| 色阁综合伊人av| 亚洲欧美日韩国产中文| 久久国产精品99国产精| 国产欧美一区二区三区视频| 亚洲嫩模很污视频| 日韩欧美一区二区在线| 欧美高清videos高潮hd| 国产精品va在线播放我和闺蜜| 色噜噜国产精品视频一区二区| 亚洲综合色av| 91精品国产91久久久久久吃药| 久久国产精品久久精品| 91欧美日韩一区| 中文字幕精品影院| 亚洲曰本av电影| 欧美精品videofree1080p| 欧美日韩精品二区| 国语自产精品视频在线看抢先版图片| 亚洲国产97在线精品一区| 日韩激情在线视频| 日韩高清a**址| 日韩在线视频一区| 国内免费久久久久久久久久久| 伊人久久五月天| 国产精品大陆在线观看| 亚洲精品日韩在线| 精品国内产的精品视频在线观看| 欧美成人剧情片在线观看| 日韩av电影在线免费播放| 久久久精品日本| 国产精品91免费在线| 国产精品中文字幕在线观看| 亚洲美女又黄又爽在线观看| 国产精品久久久久久久久| 亚洲欧美第一页| 91精品啪在线观看麻豆免费| 亚洲精品第一页| 51精品国产黑色丝袜高跟鞋| 欧美一级电影久久| 久久精品国产99国产精品澳门| 亚洲欧美在线播放| 97久久精品人搡人人玩| 午夜精品一区二区三区在线播放| 狠狠爱在线视频一区| 久久久国产精彩视频美女艺术照福利| 欧美成人精品在线| 欧美在线免费视频| 日韩av在线免费观看一区| 超碰91人人草人人干| 亚洲成人三级在线| 亚洲精品720p| 97视频在线观看视频免费视频| 97视频在线观看播放| 国产精品精品国产| 久久久国产在线视频| 91色中文字幕| 欧美精品性视频| 亚洲国产天堂网精品网站| 韩曰欧美视频免费观看|