asp调用webservice,终于搞定来源: 发布时间:星期三, 2008年12月10日 浏览:32次 评论:0
<%
url = " " SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _ "<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,fal** *mlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8" xmlhttp.setRequestHeader "HOST","192.100.100.81" xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest) xmlhttp.setRequestHeader "SOAPAction ", " " '一定要与WEBSERVICE的命名空间相同,否则服务会拒绝 xmlhttp.Send(SoapRequest) '这样就利用XMLHTTP成功发送了与SOAP示例所符的SOAP请求. '检测一下是否成功: 'Response.Write xmlhttp.Status&" " 'Response.Write xmlhttp.StatusText If xmlhttp.Status = 200 Then Set xmlDOC =server.CreateObject("MSXML.DOMDocument") xmlDOC.load(xmlhttp.respon***ML) xmlStr = xmlDOC.xml Set xmlDOC=nothing xmlStr = Replace(xmlStr,"<","<") xmlStr = Replace(xmlStr,">",">") 'Response.write xmlStr Else Response.Write xmlhttp.Status&" " Response.Write xmlhttp.StatusText End if If xmlhttp.Status = 200 Then Set xmlDOC = server.CreateObject("MSXML.DOMDocument") xmlDOC.load(xmlhttp.respon***ML) Response.Write xmlDOC.documentElement.selectNodes("//RetrievingSpecialServerStatusStrResult")(0).text '显示节点为RetrievingSpecialServerStatusStrResult的数据(有编码则要解码) Set xmlDOC = nothing Else Response.Write xmlhttp.Status&" " Response.Write xmlhttp.StatusText End if Set xmlhttp = Nothing Function showallnode(rootname,myxmlDOC)'望大家不断完鄯 2005-1-9 writed by 844 if rootname<>"" then set nodeobj=myxmlDOC.documentElement.selectSingleNode("//"&rootname&"")'当前结点对像 nodeAttributelen=myxmlDOC.documentElement.selectSingleNode("//"&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>属性数有 "&nodeAttributelen&" 个,分别是:" end if for i=0 to nodeAttributelen-1 returnstring=returnstring&"<li>"&nodeobj.attributes(i).Name&": "&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 %> 0
相关文章读者评论
发表评论 |