在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用vbscript腳本調用web服務

運用vbscript腳本調用web服務

更新時間:2022-05-06 文章作者:未知 信息來源:網絡 閱讀次數:

最近碰到的一個問題,需要在asp和客戶端調用.NET的webservice,也就是說需要用vbscript或javascript來調用webservice。在網上看了看,大多數方案都是利用SOAP Toolkit,但是因為SOAP Toolkit在今年就會被停止后續的支持了,并且要使用soapclient需要專門安裝SOAP Toolkit,這對客戶端來說不具有通用性,因此想到了使用xmlhttp,利用xmlhttp來和webservice交互。

客戶端代碼如下:
<script language="vbscript">
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Set xmlDOC =CreateObject("MSXML.DOMDocument")
strWebserviceURL = "http://localhost/possible/Service1.asmx/add"
'設置參數及其值
strRequest = "x=2&y=3"
objHTTP.Open "POST", strWebserviceURL, False
'設置這個Content-Type很重要
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.Send(strRequest)
bOK = xmlDOC.load(objHTTP.responseXML)
'看看狀態值
msgBox objHTTP.Status
msgbox objHTTP.StatusText
'objHTTP.Status=200,這里就可以處理返回的xml片段了
'如果需要,可以替換返回的xml字符串當中的&lt;和&gt;
xmlStr = xmlDOC.xml
xmlStr = Replace(xmlStr,"&lt;","<",1,-1,1)
xmlStr = Replace(xmlStr,"&gt;",">",1,-1,1)
msgbox xmlStr
</script>

改為服務器端的asp代碼為:
<%
Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")
Set xmlDOC =Server.CreateObject("MSXML.DOMDocument")
strWebserviceURL = "http://localhost/possible/Service1.asmx/add"
'設置參數及其值
strRequest = "x=2&y=3"
objHTTP.Open "POST", strWebserviceURL, False
'設置這個Content-Type很重要
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.Send(strRequest)
bOK = xmlDOC.load(objHTTP.responseXML)
'看看狀態值
if objHTTP.Status=200 then
xmlStr = xmlDOC.xml
xmlStr = Replace(xmlStr,"&lt;","<",1,-1,1)
xmlStr = Replace(xmlStr,"&gt;",">",1,-1,1)
Response.Write xmlStr
else
Response.Write objHTTP.Statu&"<br>"
Response.Write objHTTP.StatusText
end if
%>

以上代碼在本地測試都沒有問題(在部署webservice的本地機器上測試的),然而把strWebserviceURL = "http://localhost/possible/Service1.asmx/add"改為部署在其他機器上的webservice時,卻出了問題,結果一直是返回500錯誤,即objHTTP.Status一直都為500。
原因在于.Net Framework1.1默認不支持HttpGet和HttpPost。如果修改webservice里的web.config增加
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
</protocols>
</webServices>
后,上代碼就可以調用遠程機器上的webservice了。
而利用SOAP發送在默認情況下即可得到.Net Framework1.1的支持,因此用構造Soap請求的xml字符串給xmlhttp對象來send的方法就對遠程服務器的web.config沒有要求了,于是根據local顯示的例子構造了一個soapRequest的string,發送給了即將部署的遠程主機,結果返回了200的status code,并且可以順利取得responseXML.類似代碼如下:

客戶端代碼如下:
<script language="vbscript">
Dim url,xmlhttp,dom,node,xmlDOC
'根據webservice的測試頁不同的方法構造不同的soap request
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>"& _
"<add xmlns="&CHR(34)&"http://localhost"&CHR(34)&">"& _
"<x>3</x>"& _
"<y>4</y>"& _
"</add>"& _
"</soap:Body>"& _
"</soap:Envelope>"
url = "http://www.xxxx.com/Service1.asmx?methodname=Add"
Set xmlDOC =CreateObject("MSXML.DOMDocument")
xmlDOC.loadXML(SoapRequest)
Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
xmlhttp.Open "POST",url,false
xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
'SOAPAction這個Header頭同樣可以在sample中找到
xmlhttp.setRequestHeader "SOAPAction", "http://localhost/add"
xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
xmlhttp.Send(xmlDOC)
msgbox xmlhttp.Status
msgbox xmlhttp.StatusText
msgbox xmlhttp.responseText
If xmlhttp.Status = 200 Then
xmlDOC.load(xmlhttp.responseXML)
msgbox "執行結果為:"&xmlDOC.getElementsByTagName("addResult")(0).text
else
msgbox "failed"
end if
</script>

改為服務器端的asp代碼為:
<%
Dim url,xmlhttp,dom,node,xmlDOC
'根據webservice的測試頁不同的方法構造不同的soap request
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>"& _
"<add xmlns="&CHR(34)&"http://localhost"&CHR(34)&">"& _
"<x>3</x>"& _
"<y>4</y>"& _
"</add>"& _
"</soap:Body>"& _
"</soap:Envelope>"
url = "http://www.xxxx.com/Service1.asmx?methodname=Add"
Set xmlDOC =server.CreateObject("MSXML.DOMDocument")
xmlDOC.loadXML(SoapRequest)
Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
xmlhttp.Open "POST",url,false
xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
xmlhttp.setRequestHeader "SOAPAction", "http://localhost/add"
xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
xmlhttp.Send(xmlDOC)
If xmlhttp.Status = 200 Then
xmlDOC.load(xmlhttp.responseXML)
Response.Write xmlhttp.Status&"<br>"
Response.Write xmlhttp.StatusText&"<br>執行結果為:"
Response.Write xmlDOC.getElementsByTagName("addResult")(0).text
else
Response.Write xmlhttp.Status&"<br>"
Response.Write xmlhttp.StatusText
end if
%>

以上用的都是vbscript的,對于javascript基本上都是一樣的,只需要做一些小的改動,具體代碼這里就省略了。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

附:
測試時用的webservice文件Service1.asmx的代碼:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;

namespace possible
{
/// <summary>
/// Service1 的摘要說明。
/// </summary>
[WebService(Description="my web service",Name="myService",Namespace="http://localhost")]
public class myService : System.Web.Services.WebService
{
public myService()
{
//CODEGEN: 該調用是 ASP.NET Web 服務設計器所必需的
InitializeComponent();
}

#region 組件設計器生成的代碼

//Web 服務設計器所必需的
private IContainer components = null;

/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
}

/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}

#endregion

[WebMethod(Description="返回兩整數之和")]
public int add(int x,int y)
{
return x+y;
}
}
}

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 男女猛烈激情xx00免费视频| 日韩网站在线免费观看| 大胆欧美熟妇xx| av女优在线播放| 亚洲欧美另类动漫| 青青草视频国产| 爱情岛论坛成人| 丁香花在线影院观看在线播放| 久久精品免费一区二区| 黄色片免费网址| 日韩一级在线免费观看| 99视频精品全部免费看| 久久久国产欧美| 99色这里只有精品| 99999精品| 天堂av在线网站| 成人黄色片视频| 老司机激情视频| 欧美性视频在线播放| 免费一级特黄录像| 欧美老熟妇喷水| 99在线免费视频观看| 欧美一二三不卡| 中文字幕55页| 亚洲欧美天堂在线| 日本人69视频| 天堂一区在线观看| 欧洲av无码放荡人妇网站| 欧美不卡在线播放| 成人午夜免费在线| 无码人妻少妇伦在线电影| 日韩视频 中文字幕| 噼里啪啦国语在线观看免费版高清版| 欧美一级中文字幕| 免费看日b视频| 久久国产午夜精品理论片最新版本| 精品国产无码在线| 成人区一区二区| 免费毛片网站在线观看| 欧美深夜福利视频| 无码aⅴ精品一区二区三区浪潮 | 日本不卡一区二区在线观看| 免费成人在线视频网站| 青青青免费在线| 欧美亚洲日本一区二区三区| 成人免费毛片网| 色哟哟精品视频| 小说区视频区图片区| 日韩在线视频在线| 一本久道综合色婷婷五月| 日本美女高潮视频| 国产卡一卡二在线| 浮妇高潮喷白浆视频| 亚洲欧美日韩一级| 日韩视频 中文字幕| 国产精品亚洲a| 欧美第一页浮力影院| 日韩久久久久久久久久久久| 国产日产欧美视频| 小早川怜子一区二区三区| 日韩日韩日韩日韩日韩| caoporn超碰97| 久久久天堂国产精品| 97公开免费视频| 欧美黑人在线观看| 日韩欧美国产片| 国产精品无码av在线播放| 欧美视频国产视频| wwwxxx黄色片| 和岳每晚弄的高潮嗷嗷叫视频| 亚洲视频第二页| 国产欧美高清在线| 国产一级大片免费看| 91丨九色丨蝌蚪| www.成年人视频| 激情五月五月婷婷| 亚洲欧美日本一区二区三区| 欧美s码亚洲码精品m码| 美女黄色免费看| 免费高清一区二区三区| 一道本在线观看视频| 亚洲天堂一区二区在线观看| 邪恶网站在线观看| 手机在线成人免费视频| 任你操这里只有精品| 黄页免费在线观看视频| 97在线国产视频| 全黄性性激高免费视频| a级片一区二区| 久久久久久久久久久综合| a级黄色片免费| 黄色三级中文字幕| 国产免费一区二区视频| 欧美亚洲日本一区二区三区| 五月丁香综合缴情六月小说| 成人午夜免费在线| 91精品91久久久中77777老牛| 97超碰青青草| 日韩精品你懂的| 天天做天天干天天操| 91制片厂免费观看| 国产91xxx| 羞羞的视频在线| 日本一二三区视频在线| 国产免费裸体视频| 久久久久久三级| 国产三级中文字幕| 欧美三级一级片| 热久久久久久久久| 男女视频网站在线观看| 欧美午夜性生活| 黄色激情在线视频| 性生活免费在线观看| 大桥未久一区二区三区| 午夜精品久久久内射近拍高清| 久久久久福利视频| 熟妇熟女乱妇乱女网站| 国产超碰在线播放| 在线播放免费视频| 国产资源在线视频| 六月婷婷激情网| 九一精品在线观看| 成熟丰满熟妇高潮xxxxx视频| 在线不卡一区二区三区| koreanbj精品视频一区| 黄色a级在线观看| 亚洲第一中文av| av动漫在线观看| 91视频 - 88av| 精品一区二区成人免费视频 | 凹凸日日摸日日碰夜夜爽1| 国产日韩欧美大片| 在线视频日韩欧美| 成人亚洲精品777777大片| 日韩在线视频在线| 九九久久久久久| 亚洲免费黄色网| 中文字幕第80页| 热久久精品免费视频| 大香煮伊手机一区| 亚洲 中文字幕 日韩 无码| 91精品国产91久久久久麻豆 主演| 亚洲成年人专区| 国产一区一区三区| 国产欧美自拍视频| 国产性生活免费视频| 特级黄色录像片| 999久久欧美人妻一区二区| 久久久久久久香蕉| 日韩在线视频在线| 免费不卡av在线| 欧美a v在线播放| 男女啪啪网站视频| 欧美日韩一区二区三区69堂| 亚洲免费黄色网| 五月天男人天堂| 大陆极品少妇内射aaaaa| 日韩黄色片视频| 午夜视频在线网站| 91看片淫黄大片91| 国产网站免费在线观看| 五月婷婷激情久久| 国产又粗又大又爽的视频| 2018国产在线| 手机看片一级片| 少妇大叫太大太粗太爽了a片小说| 日韩免费一级视频| 15—17女人毛片| 青草视频在线观看视频| av观看免费在线| www.色.com| 免费av网址在线| 国产青草视频在线观看| 奇米影视四色在线| 欧美精品卡一卡二| www.成年人| 日韩在线xxx| 2019日韩中文字幕mv| 亚洲精品成人在线播放| 熟女少妇在线视频播放| 最新黄色av网站| 精品久久久99| 久久精品免费网站| 男人亚洲天堂网| 国产在线精品91| 欧美一级欧美一级| 桥本有菜av在线| 天堂中文视频在线| 国产成人久久婷婷精品流白浆| 路边理发店露脸熟妇泻火| 手机av在线网| 美女少妇一区二区| 好男人www社区| 日韩亚洲在线视频| 久久精品午夜福利| 久久久久久久久久网| 免费超爽大片黄| 婷婷五月综合缴情在线视频| 福利网在线观看| 日韩欧美视频免费在线观看|