ASP编程:ASP挪用WEBSERVICE文档
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题webASP挪用WEBSERVICE----INDEX----
1.soap哀求体例
2.post哀求体例
3.SHOWALLNODE函数(关于节点各属性和数据显现)
---------------------
一.SOAP哀求示例
上面是一个SOAP哀求示例。所显现的占位符必要由实践值交换。
POST/WebService1/UserSignOn.asmxHTTP/1.1
Host:192.100.100.81
Content-Type:text/xml;charset=utf-8
Content-Length:length
SOAPAction:"http://tempuri.org/LoginByAccount"
<?xmlversion="1.0"encoding="utf-8"?>
<soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LoginByAccountxmlns="http://tempuri.org/">
<username>string</username>
<password>string</password>
</LoginByAccount>
</soap:Body>
</soap:Envelope>
为了与WEBSERVICE交互,必要机关一个与上完整不异的SOAP哀求:
<%
url="http://192.100.100.81/WebService1/UserSignOn.asmx"
SoapRequest="<?xmlversion="&CHR(34)&"1.0"&CHR(34)&"encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"&_
"<soap:Envelopexmlns: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>"&_
"<LoginByAccountxmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"&_
"<username>"&username&"</username>"&_
"<password>"&password&"</password>"&_
"</LoginByAccount>"&_
"</soap:Body>"&_
"</soap:Envelope>"
Setxmlhttp=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","http://tempuri.org/LoginByAccount"‘必定要与WEBSERVICE的定名空间不异,不然服务会回绝
xmlhttp.Send(SoapRequest)
‘如许就使用XMLHTTP乐成发送了与SOAP示例所符的SOAP哀求.
‘检测一下是不是乐成:
Response.Writexmlhttp.Status&””
Response.Writexmlhttp.StatusText
Setxmlhttp=Nothing
%>
假如乐成会显现200ok,不乐成会显现500外部服务器毛病?Connection:keep-alive.
乐成后就能够使用WEBSERVICE的呼应,以下:
SOAP呼应示例
上面是一个SOAP呼应示例。所显现的占位符必要由实践值交换。
HTTP/1.1200OK
Content-Type:text/xml;charset=utf-8
Content-Length:length
<?xmlversion="1.0"encoding="utf-8"?>
<soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LoginByAccountResponsexmlns="http://tempuri.org/">
<LoginByAccountResult>string</LoginByAccountResult>
</LoginByAccountResponse>
</soap:Body>
</soap:Envelope>
这是与方才SOAP哀求示例所对应的SOAP呼应示例,在乐成发送哀求后,就能够检察该呼应:
Ifxmlhttp.Status=200Then
SetxmlDOC=server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
xmlStr=xmlDOC.xml
SetxmlDOC=nothing
xmlStr=Replace(xmlStr,"<","<")
xmlStr=Replace(xmlStr,">",">")
Response.writexmlStr
Else
Response.Writexmlhttp.Status&""
Response.Writexmlhttp.StatusText
Endif
哀求准确则给出完全呼应,哀求不准确(如账号,暗码不合错误)呼应的内容就会信息不完全.
掏出呼应里的数据,以下:
Ifxmlhttp.Status=200Then
SetxmlDOC=server.CreateObject("MSXML.DOMDocument")
xmlDOC.load(xmlhttp.responseXML)
Response.WritexmlDOC.documentElement.selectNodes("//LoginByAccountResult")(0).text‘显现节点为LoginByAccountResult的数据(有编码则要解码)
SetxmlDOC=nothing
Else
Response.Writexmlhttp.Status&""
Response.Writexmlhttp.StatusText
Endif
</p>ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
页:
[1]