`

asp调用webservices

阅读更多

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", "http://tempuri.org/LoginByAccount" ‘一定要与WEBSERVICE的命名空间相同,否则服务会拒绝
xmlhttp.Send(SoapRequest)
‘这样就利用XMLHTTP成功发送了与SOAP示例所符的SOAP请求.
‘检测一下是否成功:
Response.Write xmlhttp.Status&” ”
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="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>
<LoginByAccountResponse xmlns="http://tempuri.org/">
<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("//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("//"&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>属性数有&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

分享到:
评论

相关推荐

    c#动态调用Webservices 不用VS生成 简单快捷

    c#动态调用Webservices 不用VS生成 简单快捷

    网站服务 调用天气webservices说明(从网站新建到调用)

    网站服务 调用天气webservices说明(从网站新建到调用) 调用天气webservices说明 1.新建 ASP.NET 空网站 2.右键[添加 Web引用] 输入需要调用的webservices 地址(百度 天气预报webservice 进去选择需要的测试方法...

    使用XMLHttpRequest访问Web Services(ASP.NET Web)

    使用XMLHttpRequest访问Web Services(ASP.NET Web)

    Web Services 教程

    Web Services 教程 5 内容目录 5 Web Services 简介 6 您应当具备的基础知识 6 什么是Web Services? 6 它如何工作? 6 Web services 的未来 6 Why Web Services? 7 最重要的事情是协同工作 7 Web services 把 Web ...

    异步调用Web服务

    如何实现异步调用web服务的代码,该调用是 ASP.net Web 服务设计器所必需的

    VS2008中使用JavaScript调用WebServices

    最近这几天任务完成了,也没什么重要的事情,抽空学习了一下WebServices的知识,感觉还是挺有意思,难度也不是很大。 首先,用VS2008创建一个asp.net网站 其次,项目 右键—&gt;添加新项—&gt;Web 服务 如下图: 就会...

    PowerBuilder调用Visual Studio .NET编写的Web_services

    如何使用Visual_Studio_.NET创建WebService以及如何从PowerBuilder使用.Net_Web_services,介绍如何创建ASP.NET Web service以及如何从PowerBuilder调用该服务

    c#调用java WEB服务

     Features of web services  Basic Components • Web Services Interoperability • Create a Java Web Service  Create a web application project  Add web service to the project  Add ...

    Asp.NET Core 如何调用WebService的方法

    主要介绍了Asp.NET Core 如何调用WebService的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    ASP.NET和AJAX简洁教程

    本文就演示了如果通过ASP.NET AJAX调用ASP.NET web services。 软件需求 本文所有的范例都是使用ASP.NET AJAX RC版,而且,要在SQL Server 2005 (Express版即可)上有一个Northwind数据库。范例使用Visual Studio ...

    ASP.NET基础控件-教程

     Asp.Net中WebServices的使用  Asp.net手动绑定数据(分页、编辑、删除、加控件等操作)  Asp.net中My97DatePicker4.2日期的使用  Asp.net中DataList控件添加删除  Asp.net获取请求的用户信息IP地址  获取世界IP...

    asp.net开发常用整理集合

     Asp.Net中WebServices的使用  Asp.net手动绑定数据(分页、编辑、删除、加控件等操作)  Asp.net中My97DatePicker4.2日期的使用  Asp.net中DataList控件添加删除  Asp.net获取请求的用户信息IP地址  获取...

    利用JQuery直接调用asp.net后台的简单方法

    利用JQuery的$.ajax()可以...using System.Web.Script.Services; [WebMethod] public static string SayHello() { return Hello Ajax!; } 前台&lt;jQuery&gt;: $(function() { $(#btnOK).click(function() { $.ajax({

    ASP.NET WebService中使用ASP.NET_SessionId的问题说明

    接着当我再调用webservice的第二个方法Method2时发现无法正确返回服务器端处理结果 也就是说webservices进行http post 的时无法正常响应服务端。感觉问题就出在cookie上(Method1调用时服务端进行了Set-Cookie),...

    jquery.Ajax()方法调用Asp.Net后台的方法解析

    1、无参数的方法调用asp.net code: 代码如下:using System.Web.Script.Services; [WebMethod] public static string SayHello() { return “Hello Ajax!”; } using System.Web.Script.Services; [WebMethod]...

    Jquery + Ajax调用webService实例代码(asp.net)

    webService中要实现ajax调用,则要加这句代码: // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] 代码下载 /201008/yuanma/WebService2....

    asp.net下实现支持文件分块多点异步上传的 Web Services

    本文的客户端应用程序不包括 ASP.Net Web 应用程序! 本文假设 URL: http://localhost/mywebservices/updownload.asmx 共有 4 个程序文件 (Web.Config 就不赘述了) Server Side: 标题中所提到的 “异步”...

    ASP.NET使用WebService实现天气预报功能

    本文使用Asp.Net (C#)调用互联网上公开的WebServices(http://www.webxml.com.cn/WebServices/WeatherWebService.asmx)来实现天气预报,该天气预报 Web 服务,数据来源于中国气象局http://www.cma.gov.cn/,数据每2.5...

    构建安全的ASP.NET

    如何做:使用 SSL 调用 Web 服务.doc 如何做:使用客户端证书调用 Web 服务.doc 如何做:创建 DPAPI 库.doc 如何做:创建加密库.doc 如何做:创建自定义帐户来运行 ASP.NET.doc 如何做:在 ASP.NET 中使用 DPAPI...

    ASP.NET+Web服务实现软件共享

    摘 要 本文提出一种新的通过软件功能共享而实现软件共享的方法,这种方法的优点是以远程调用Web服务的形式实现软件功能的共享,而不将软件拷贝到客户端,也减小了网络上的一些资源冗余,也有利于共享现有Web服务集成...

Global site tag (gtag.js) - Google Analytics