关于ASP调用.net WebService 的标准例子

 

 

打开WebService地址 可以看到说明,必须注意1.1和1.2版本的SOAP的不同地方。一般出现错误都基本在这些地方。

演示地址自发布之日起30天内保证有效。

http://api.510769.com/Service.asmx?op=AandB

 

改进版(有兄弟说无法直接应用,其实应用很简单)

<%   
url = "HTTP://API.510769.COM/Service.asmx"
  
SoapRequest="<?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>"&_
"    <AandB xmlns=""HTTP://API.510769.COM/"">"&_
"      <a>1</a>"&_
"      <b>2</b>"&_
"    </AandB>"&_
"  </soap:Body>"&_
"</soap:Envelope>"

  
Set xmlDOC =Server.CreateObject("MSXML.DOMDocument")   
Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")   
	xmlhttp.Open "POST",url,False
	xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "Host","api.510769.com"
	xmlhttp.setRequestHeader "SOAPAction","HTTP://API.510769.COM/AandB"
	xmlhttp.Send(SoapRequest)
	
	bOK = xmlDOC.load(xmlhttp.responseXML)
	xmlStr = xmlDOC.xml

	Set ReStr=xmlDOC.documentElement.selectNodes("//AandBResult")		'这就是直接调用
		Response.Write(bOK&xmlStr&ReStr(0).text)		'bOK为fasle就是失败了
    Set ReStr = Nothing
	
Set xmlhttp = Nothing  
Set xmlDOC = Nothing
%>  

 

代码
<%
Dim url = "HTTP://API.510769.COM/Service.asmx"

Dim SoapRequest="<?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>"&_
" <AandB xmlns=""HTTP://API.510769.COM/"">"&_
" <a>1</a>"&_
" <b>2</b>"&_
" </AandB>"&_
" </soap:Body>"&_
"</soap:Envelope>"


Set xmlDOC =Server.CreateObject("MSXML.DOMDocument")
Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
xmlhttp.Open
"POST",url,False
xmlhttp.setRequestHeader
"Content-Type", "text/xml; charset=utf-8"
xmlhttp.setRequestHeader
"Content-Length",LEN(SoapRequest)
xmlhttp.setRequestHeader
"Host","api.510769.com"
xmlhttp.setRequestHeader
"SOAPAction","HTTP://API.510769.COM/AandB"
xmlhttp.Send(SoapRequest)

bOK
= xmlDOC.load(xmlhttp.responseXML)
xmlStr
= xmlDOC.xml
Response.Write(bOK
&xmlStr)'bOK为fasle就是失败了

Set xmlhttp = Nothing
Set xmlDOC = Nothing
%
>

 

 

 

 

 

 

标签: C#, .net, ASP, WebService
posted @ 2010-03-19 16:09 张三封 阅读(1709) 评论(3) 编辑 收藏

 回复 引用 查看   
#1楼2010-03-19 20:31 | rKnight      
Asp 现在应该很少有用了吧,另外,dim 后边可以直接赋值么?
Dim url = "HTTP://API.510769.COM/Service.asmx"


这边是不是要分两句呢?第 3 行那个也是一样的。。

另外,返回好像也是 SOAP,真的要应用的话还需要转换吧?

 回复 引用 查看   
#2楼2010-03-19 21:35 | duncannjm      
我怎么调用不成功啊!
最好是把可运行的源代码提供下载,以前没有用过asp调用WebService

 回复 引用 查看   
#3楼[楼主]2010-03-20 12:56 | 卡斯      
@rKnight
asp 还是有很多人用的。这次我就碰到了。

应用也很简单 返回的是xml嘛

dim 更正了,好久不写asp 混淆了