ASP调用WEBSERVICE(转)

首先发送请求,然后处理响应。我用.net写的WebService,直接访问,点击方法名称可以看到实例代码,只需要在asp中使用Microsoft.XMLHTTP发送请求,然后处理xml的结果就行了。

要注意Namespace不能写错了。

<%@language=vbscript codepage=936 %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<
Dim strxml 
Dim str 

'定义soap消息 
strxml = "<?xml version='1.0' encoding='utf-8'?>" 
strxml 
= strxml & "<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/'>" 
strxml 
= strxml & "<soap:Body> " 
strxml 
= strxml & "<Decrypt xmlns='http://192.168.3.239:8000/3des/'>" 
strxml 
= strxml & "<strIn>4Dv5esfHAh0=</strIn>" 
strxml 
= strxml & "<strKey>Not.ceNte</strKey>" 
strxml 
= strxml & "</Decrypt>" 
strxml 
= strxml & "</soap:Body>" 
strxml 
= strxml & "</soap:Envelope>" 

Set h = createobject"Microsoft.XMLHTTP"
'向指定的URL发送Post消息 
h.open "POST""http://192.168.3.239:8000/3des/Service.asmx"False 
h.setRequestHeader 
"Content-Type""text/xml; charset=utf-8" 
h.setRequestHeader 
"Content-Length",LEN(strxml) 
h.setRequestHeader 
"SOAPAction""http://192.168.3.239:8000/3des/Decrypt" 
h.send (strxml) 

'显示返回的XML信息 

If h.Status = 200 Then 
   
Set xmlDOC = server.CreateObject("MSXML.DOMDocument"
   xmlDOC.load(h.responseXML) 
   str 
= xmlDOC.childNodes(1).Text    ''调用SHOWALLNODE 

    
'遍历并取出xml中的一个节点
    Set Node = xmlDOC.getElementsByTagName("RegionID")
    
'for x=Node.length-1 to 0 step -1
    regMgrID = Node.item(0).Text
    
'next

   
Set xmlDOC = nothing 
   response.write(str)   
Else 
   Response.Write h.Status 
&"&nbsp;" 
   Response.Write h.StatusText 
End if 

%
> 
</body>
</html> 

 

posted @ 2008-04-11 17:03  ztotem  阅读(622)  评论(3编辑  收藏  举报