web services的问题
小弟接了个活,其他都OK了,到最后,那边给提供了一个验证防伪码的接口,是web services
接口内容如下:
接口地址:http://www.yesno.com.cn/DAC/DacQuery.asmx
查询方法:
SproCodeQuery(string factoryCode, string requestCode, string sproCode, out string sysState, out string productCode, out string queryNumber, out string queryDate, out string productInfo1, out string productInfo2, out string productInfo3)
参数备注:
factoryCode 企业编码为“58”
requestCode 请求验证码为“8DDCFF3A80F4189CA1C9D4D902C3C909”,不定期更换
sproCode 16位防伪码
out sysState 系统返回状态 “001” 为真码,其余为假码,
out productCode 产品编码 ,如果系统返回状态为 “001”,产品编码有效,否则无效
out queryNumber 暂不用
out queryDate暂不用
out productInfo1暂不用
out productInfo2暂不用
out productInfo3暂不用
测试用16位防伪码 产品编码
3412897247215401 硒鼓EP-22
0000006193641376 PG-40
0000046076308646 BCI-24BK
我用ajax提交,返回怎么也不对,不指点是我提交错了还是返回不对。求大虾们指点一二
我的提交方式:
var xml='';
xml+='<?xml version="1.0" encoding="utf-8"?>'+'\n';
xml+=''+'\n';
xml+='soap:Body'+'\n';
xml+=''+'\n';
xml+='58'+'\n';
xml+='8DDCFF3A80F4189CA1C9D4D902C3C909'+'\n';
xml+='0000006193641376'+'\n';
xml+=''+'\n';
xml+='/soap:Body'+'\n';
xml+='/soap:Envelope'+'\n';
//alert(xml);
xhr.open("POST", "http://www.yesno.com.cn/DAC/DacQuery.asmx", true);
xhr.onreadystatechange = suggest;
xhr.send(xml);
这么解析的:
var objXml = xhr.responseXML;
var aa=objXml.getElementsByTagName("soap:Body")[0];
alert(aa);
[b]问题补充:[/b]
有,是个object
[code="java"]<br> function AJAXPost(){<br> var xml=''; <br> xml+='<?xml version="1.0" encoding="utf-8"?>'+'\n'; <br> xml+='<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/">'+'\n'; <br> xml+='<a href="soap:Body">soap:Body</a>'+'\n'; <br> xml+='<SproCodeQuery xmlns="http://tempuri.org/">'+'\n'; <br> xml+='<factoryCode>58</factoryCode>'+'\n'; <br> xml+='<requestCode>8DDCFF3A80F4189CA1C9D4D902C3C909</requestCode>'+'\n'; <br> xml+='<sproCode>0000006193641376</sproCode>'+'\n'; <br> xml+='</SproCodeQuery>'+'\n'; <br> xml+='<a href="/soap:Body">/soap:Body</a>'+'\n'; <br> xml+='<a href="/soap:Envelope">/soap:Envelope</a>'+'\n';</p> <pre><code> var options = { type: "POST", url: "http://www.yesno.com.cn/DAC/DacQuery.asmx", data :xml, dataType :"html", contentType :"text/xml;charset=utf-8", success: function(msg){ alert( "Data Saved: " + msg ); }, error : function(msg,textStatus, errorThrown){ alert( "Error : " + textStatus ); alert(this); } }; jQuery.ajax(options); } </script>[/code] </code></pre> <p>我用jQuery提交了下,可以返回结果; 是不是你的 </p> <p>dataType :"html",<br> contentType :"text/xml;charset=utf-8",</p> <p>这个两个设置不对啊?</p>
var objXml = xhr.responseXML;
alert(objXml);
这个有数据吗?