使用ASP调用WebService时不能以Name为数据库中的字段
2024-05-04 11:06:30
供稿:网友
今天做了一下试验,发现当webservice返回的xml数据中使用了”name”关键字作为健值时,asp页面将无法读取整个xml文档,而出现以下错误:
无法显示 xml 页。
使用 xsl 样式表无法查看 xml 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
文本内容中发现无效字符。处理资源 'http://192.168.0.41/aspserver/server.asp' 时出错。第 56 行,位置: 11
<name>
//服务器端asp代码如下,webservice代码略,只要返回一个dataset的值即可
<%
set objhttp = server.createobject("msxml2.xmlhttp")
set xmldoc =server.createobject("msxml.domdocument")
strwebserviceurl = "http://192.168.0.41/webservice1/service1.asmx/ds"
'设置参数及其值
'strrequest = "x=2&y=3"
strrequest = "tbname=123"
objhttp.open "post", strwebserviceurl, false
'设置这个content-type很重要
objhttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
objhttp.send(strrequest)
bok = xmldoc.load(objhttp.responsexml)
'看看状态值
if objhttp.status=200 then
xmlstr = xmldoc.xml
xmlstr = replace(xmlstr,"<","<",1,-1,1)
xmlstr = replace(xmlstr,">",">",1,-1,1)
response.write xmlstr
else
response.write objhttp.status&"<br>"
response.write objhttp.statustext
end if
%>
'关键字name不能用在数据库设计中!!!!!!!!!!!!
'十万个注意!!!