公司要做一个东西 要用到一个xml web service可以让我们发送xml请求到一个地址 然后他会根据我的请求返回数据
比如下面这样的xml请求
<xmlrequest> 
  <username>admin</username> 
  <usertoken>as6798afhu2gjhs78y9asd8</usertoken> 
  <requesttype>orders</requesttype> 
  <requestmethod>GetOrders</requestmethod> 
  <details> 
    <start>1</start> 
    <searchQuery>abc</searchQuery> 
  </details> 
</xmlrequest>
就能返回从1开始的所有order记录中带有abc字符串的记录
发送是按post发送 
The request should be submitted as a standard HTTP POST operation, with 
the post data containing the request XML他给了一个是php的例子
<?php 
$storeURL = 'http://www.store.com/xml.php'; 
$storeUser = 'admin'; 
$storeToken = 'e30bfbbf36db9aff34e660a1cb322b23'; 
 
$xml = '<xmlrequest> 
  <username>'.$storeUser.'</username> 
  <usertoken>'.$storeToken.'</usertoken> 
  <requesttype>orders</requesttype> 
  <requestmethod>GetOrder</requestmethod> 
  <details> 
    <orderId>1</orderId> 
  </details> 
</xmlrequest>'; 
 
$ch = curl_init($storeURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
 
echo '<pre>'; 
echo htmlspecialchars(curl_exec($ch)); 
echo '</pre>'; 
curl_close($ch); 但是我们的网站是asp的,小弟从没用过asp,应该怎么写可以得到他的response然后显示出来?

解决方案 »

  1.   

    dim Https 
    set Https=server.createobject("MSXML2.XMLHTTP")
    '定义一个XMLHTTP对像
    Https.open "POST","http://127.0.0.1/testpost/response.asp",false
    Https.send "<?xml version=""1.0""?><misc_command version=""1.6""><command_name>echo</command_name>
    <command_data_block><sid>123456</sid><service_id>987654</service_id>
    <sp_id>11111</sp_id><sp_password>22222</sp_password></command_data_block></misc_command>"
    if Https.readystate=4 then
     response.write "提交成功"
     'readstate读取状态为4则成功,继续后面的,不成功当然就不用继续处理了
     dim objstream 
     set objstream = Server.CreateObject("adodb.stream")
     '定义一个stream,因为读过来的直接拿出来是乱码的,所以得处理一下
     objstream.Type = 1 
     objstream.Mode =3 
     objstream.Open 
     objstream.Write Https.responseBody 
     objstream.Position = 0 
     objstream.Type = 2 
     objstream.Charset = "GB2312" 
     html = objstream.ReadText
     '转好码,就放到html里,好关闭这些对像
     objstream.Close 
     set objstream = nothing 
     set https=nothing
    end if
    response.write htmlresponse.asp'创建DOMDocument对象
    Set xml = Server.CreateObject ("msxml2.DOMDocument")
    xml.async = False'装载POST数据 
    xml.Load Request 
    If xml.parseError.errorCode <> 0 Then 
     response.write "不能正确接收数据" & "Description: " & xml.parseError.reason & "<br>Line: " & xml.parseError.Line
    End Ifset blogchild=xml.getElementsByTagName("misc_command")
    'the_text=blogchild.item(0).childnodes(1).text
    'the_text=blogchild.item(0).text
    'for i=0 to blogchild.length-1
    response.write the_text