SOAP请求示例.docx_第1页
SOAP请求示例.docx_第2页
SOAP请求示例.docx_第3页
SOAP请求示例.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-INDEX-1. soap请求方式2. post请求方式3. SHOWALLNODE函数(关于节点各属性和数据显示)-一SOAP请求示例下面是一个 SOAP 请求示例。所显示的占位符需要由实际值替换。POST /WebService1/UserSignOn.asmx HTTP/1.1Host: 1Array1Content-Type: text/xml; charset=utf-8Content-Length: lengthSOAPAction: /LoginByAccount string string 为了与WEBSERVICE交互,需要构造一个与上完全相同的SOAP请求:%url = http:/1Array1/WebService1/UserSignOn.asmxSoapRequest=& _& _& _& _&username& _&password& _& _& _Set xmlhttp = server.CreateObject(Msxml2.XMLHTTP)xmlhttp.Open POST,url,falsexmlhttp.setRequestHeader Content-Type, text/xml;charset=utf-8xmlhttp.setRequestHeader HOST,1Array1xmlhttp.setRequestHeader Content-Length,LEN(SoapRequest)xmlhttp.setRequestHeader SOAPAction, /LoginByAccount 一定要与WEBSERVICE的命名空间相同,否则服务会拒绝xmlhttp.Send(SoapRequest)这样就利用XMLHTTP成功发送了与SOAP示例所符的SOAP请求.检测一下是否成功:Response.Write xmlhttp.Status&” ”Response.Write xmlhttp.StatusTextSet xmlhttp = Nothing%如果成功会显示200 ok,不成功会显示 500 内部服务器错误 Connection: keep-alive .成功后就可以利用WEBSERVICE的响应,如下:SOAP响应示例下面是一个 SOAP 响应示例。所显示的占位符需要由实际值替换。HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length string 这是与刚才SOAP请求示例所对应的SOAP响应示例,在成功发送请求后,就可以查看该响应 :If xmlhttp.Status = 200 ThenSet xmlDOC =server.CreateObject(MSXML.DOMDocument)xmlDOC.load(xmlhttp.responseXML)xmlStr = xmlDOC.xmlSet xmlDOC=nothingxmlStr = Replace(xmlStr,>)Response.write xmlStrElseResponse.Write xmlhttp.Status Response.Write xmlhttp.StatusTextEnd if请求正确则给出完整响应,请求不正确(如账号,密码不对)响应的内容就会信息不完整.取出响应里的数据,如下:If xmlhttp.Status = 200 ThenSet xmlDOC = server.CreateObject(MSXML.DOMDocument)xmlDOC.load(xmlhttp.responseXML)Response.Write xmlDOC.documentElement.selectNodes(/LoginByAccountResult)(0).text 显示节点为LoginByAccountResult的数据(有编码则要解码)Set xmlDOC = nothingElseResponse.Write xmlhttp.Status Response.Write xmlhttp.StatusTextEnd if显示某节点各个属性和数据的FUNCTION:Function showallnode(rootname,myxmlDOC)望大家不断完鄯 2005-1-Array writed by 844if rootname thenset nodeobj=myxmlDOC.documentElement.selectSingleNode(/&rootname&)当前结点对像nodeAttributelen=myxmlDOC.documentElement.selectSingleNode(/&rootname&).attributes.length当前结点属性数returnstring=returnstring&节点名称:&rootnameif nodeobj.text thenreturnstring=returnstring&节点的文本:(&nodeobj.text&)end ifreturnstring=returnstring&if nodeAttributelen0 thenreturnstring=returnstring&属性数有  &nodeAttributelen& 个,分别是: end iffor i=0 to nodeAttributelen-1returnstring=returnstring&nodeobj.attributes(i).Name&: &nodeobj.getAttribute(nodeobj.attributes(i).Name)& nextif nodeobj.childNodes.Length0 thenif nodeobj.hasChildNodes() and lcase(nodeobj.childNodes.item(0).nodeName)#text then是否有子节点set childnodeobj=nodeobj.childNodeschildnodelen=nodeobj.childNodes.Lengthreturnstring=returnstring&有 &childnodelen& 个子节点;分别是: for i=0 to childnodelen-1returnstring=returnstring&childnodeobj.item(i).nodeName&nextend ifend ifreturnstring=returnstring&response.write returnstringset nodeobj=nothingend ifEnd Function可以这样用:If xmlhttp.Status = 200 ThenSet xmlDOC = server.CreateObject(MSXML.DOMDocument)xmlDOC.load(xmlhttp.responseXML) showallnode LoginByAccountResponse,xmlDOC调用SHOWALLNODESet xmlDOC = nothingElseResponse.Write xmlhttp.Status Response.Write xmlhttp.StatusTextEnd if二POST请求示例HTTP POST下面是一个 HTTP POST 请求示例。所显示的占位符需要由实际值替换。POST /WebService1/UserSignOn.asmx/LoginByAccount HTTP/1.1Host: 1Array1Content-Type: application/x-www-form-urlencodedContent-Length: lengthusername=string&password=string构造POST请求:如果成功会显示200 ok,不成功会显示 500 内部服务器错误 Connection: keep-alive .成功后就可以利用WEBSERVICE的响应,如下:HTTP POST下面是一个 HTTP POST 响应示例。所显示的占位符需要由实际值替换。HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: lengthstring显示:If xmlhttp.Status = 200 ThenSet xmlDOC = server.CreateObject(MSXML.DOMDocument)xmlDOC.load(xmlhttp.responseXML) showallnode string,xmlDOC调用SHOWALLNODESet xmlDOC = nothingElseResponse.Write xmlhttp.Status Response.Write xmlhttp.StatusTextEnd if以上是ASP用X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论