在线看毛片视频-国产免费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>
  • 亚洲一区 在线播放| 精品无码国模私拍视频| 国产成人无码a区在线观看视频| 一级片黄色免费| 一级黄色特级片| 国产超碰在线播放| 一本久道综合色婷婷五月| 国产精品无码人妻一区二区在线| 蜜桃视频一区二区在线观看| 97av中文字幕| 狠狠97人人婷婷五月| 国产午夜伦鲁鲁| 成人一级片网站| 天美星空大象mv在线观看视频| 91日韩视频在线观看| 17c国产在线| 亚洲激情免费视频| 丰满少妇大力进入| wwwxxx黄色片| 制服丝袜中文字幕第一页| 亚洲女人在线观看| 青青青青在线视频| 国产一区二区三区精彩视频| 性生交免费视频| 国产 国语对白 露脸| 狠狠干 狠狠操| 超碰在线97免费| 欧美 亚洲 视频| 欧美牲交a欧美牲交aⅴ免费下载| 男生操女生视频在线观看| 黄色录像特级片| av观看免费在线| 91麻豆天美传媒在线| 久久综合九色综合88i| 男生操女生视频在线观看| 久久久久久www| 天堂视频免费看| 免费不卡av在线| www.久久av.com| 成熟了的熟妇毛茸茸| 中文字幕av导航| 欧在线一二三四区| 91看片淫黄大片91| 天天影视综合色| 99色这里只有精品| 成年人黄色在线观看| 日本成年人网址| 国产性生活免费视频| 污污的视频免费| 99久久激情视频| 青青草精品视频在线| 久久6免费视频| 国产性生交xxxxx免费| 久在线观看视频| 日本免费黄色小视频| 激情成人在线观看| 亚洲一级片网站| 无码少妇一区二区三区芒果| 日本一道本久久| 久艹视频在线免费观看| 日韩a级黄色片| 中文字幕av导航| 熟妇熟女乱妇乱女网站| 午夜av中文字幕| 天堂在线一区二区三区| 色综合色综合色综合色综合| 簧片在线免费看| www.com污| 在线视频观看91| 国产av不卡一区二区| 波多野结衣三级在线| 老司机午夜网站| 欧洲精品在线播放| 999一区二区三区| av在线播放亚洲| 日本精品一区在线观看| 日本在线视频www| 日本中文字幕高清| 五月天丁香花婷婷| 91xxx视频| 国产曰肥老太婆无遮挡| 日韩欧美精品在线观看视频| 亚洲国产精品三区| 国产精品探花在线播放| a级黄色片免费| av片中文字幕| 在线观看中文av| 亚洲 欧美 综合 另类 中字| 欧美牲交a欧美牲交aⅴ免费下载| 亚洲娇小娇小娇小| 精品人妻大屁股白浆无码| 男人揉女人奶房视频60分 | 啊啊啊国产视频| 久久精品视频在线观看免费| av日韩一区二区三区| 日韩免费毛片视频| 五月六月丁香婷婷| 男人日女人逼逼| 午夜一级免费视频| 九一国产精品视频| 午夜免费看视频| 黄色www网站| 在线播放黄色av| 国产综合免费视频| 999久久欧美人妻一区二区| 黄色片视频在线播放| 老汉色影院首页| 五月婷婷深爱五月| 国产中文字幕二区| 91制片厂免费观看| 小泽玛利亚视频在线观看| 国产中文字幕乱人伦在线观看| 网站一区二区三区| 男人的天堂99| 国产一区二区三区在线免费| 亚洲综合激情视频| 色综合av综合无码综合网站| 菠萝蜜视频在线观看入口| 欧美日韩中文不卡| 色综合手机在线| 黄色片一级视频| 久久婷婷五月综合色国产香蕉| 久艹在线免费观看| 欧美a级黄色大片| 黄色一级片网址| 中文av字幕在线观看| 亚洲欧美自拍另类日韩| 国产视频在线视频| 可以免费观看av毛片| 日本一本二本在线观看| 狠狠干 狠狠操| 无码播放一区二区三区| av动漫在线看| 人妻熟女一二三区夜夜爱| 又粗又黑又大的吊av| 少妇高潮喷水久久久久久久久久| 日韩小视频网站| 黄色一级片在线看| 欧美久久久久久久久久久久久| 日韩av高清在线看片| 成人黄色av片| 欧美精品一区二区三区免费播放| 精品人妻一区二区三区四区在线| 成人综合视频在线| 北条麻妃av高潮尖叫在线观看| 成人在线观看黄| 在线观看免费的av| www.黄色网址.com| 免费不卡av在线| 在线视频日韩一区 | 国产精品又粗又长| 日韩人妻精品无码一区二区三区| 91黄色小网站| 肉色超薄丝袜脚交| 很污的网站在线观看| 六月丁香激情网| 国产无遮挡猛进猛出免费软件 | 国产午夜精品视频一区二区三区| 日本a级片在线播放| 99久久久无码国产精品6| 超碰在线播放91| 亚洲一区 在线播放| 蜜臀av午夜一区二区三区| 中文字幕日韩综合| 777av视频| 国产传媒免费观看| 极品美女扒开粉嫩小泬| 午夜精品久久久久久久99热影院| 欧美久久在线观看| 亚洲免费av一区二区三区| 青春草在线视频免费观看| 国产淫片免费看| 成人在线免费观看网址| 天天操天天爽天天射| 欧美成人精品免费| 在线播放av中文字幕| 免费高清在线观看免费| 粉嫩av一区二区三区天美传媒 | 在线观看免费视频污| 日韩精品一区二区三区久久| 欧美做受777cos| 日日干夜夜操s8| 已婚少妇美妙人妻系列| 国产成人艳妇aa视频在线| gai在线观看免费高清| 黑鬼大战白妞高潮喷白浆| 日韩成人手机在线| 超碰中文字幕在线观看| 亚洲人辣妹窥探嘘嘘| 欧美黄色免费影院| 国产69精品久久久久久久| 免费的av在线| 欧美三级午夜理伦三级老人| 九九九九九国产| 中文av字幕在线观看| 中文字幕 91| 亚洲77777| 自拍偷拍21p| 欧美女同在线观看| 中文字幕有码av|