Javascript 执行soapxml请求
所以在我的公司里,我们使用SOAP API连接到我们的系统,我在这方面做得很好,可以使用所有的调用 我只是想知道如果我想构建一个可以执行API查询的测试登录页,我应该从哪里开始 如果可能的话,我更愿意使用JavaScript,因为我们的服务器上没有安装PHP 正在寻找从何处开始的方向—我只想从文本框中获取一个值,并将其放入XML请求中并执行:) 感谢任何指点Javascript 执行soapxml请求,javascript,xml,soap,textbox,Javascript,Xml,Soap,Textbox,所以在我的公司里,我们使用SOAP API连接到我们的系统,我在这方面做得很好,可以使用所有的调用 我只是想知道如果我想构建一个可以执行API查询的测试登录页,我应该从哪里开始 如果可能的话,我更愿意使用JavaScript,因为我们的服务器上没有安装PHP 正在寻找从何处开始的方向—我只想从文本框中获取一个值,并将其放入XML请求中并执行:) 感谢任何指点 <script> function fireRequest(){ .. /
<script>
function fireRequest(){
..
//parse your SOAP Request and set the request with 'dataContent'
...
var url = //your target gateway here Java/PHP or your web service recpetor
var postStr =//xml SOAP resquest ;
makeRequest(url, postStr);
}
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest(); //Mozilla, Safari ...
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP"); //IE
} else {
alert("Your Browser does not support XMLHTTP");
}
}
function makeRequest(url, param) {
//If our readystate is either not started or finished, initiate a new request
//clearing all divs
receiveReq = getXmlHttpRequestObject();
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
//Set up the connection to captcha_test.html. True sets the request to asyncronous(default)
receiveReq.open("POST", url, true);
//Set the function that will be called when the XmlHttpRequest objects state changes
receiveReq.onreadystatechange = responseHandler;
//Add HTTP headers to the request
receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
receiveReq.setRequestHeader("Content-length", param.length);
receiveReq.setRequestHeader("Connection", "close");
//Make the request
receiveReq.send(param);
}
}
function responseHandler(){
if (receiveReq.readyState == 4) {
var response = receiveReq.responseText;
if(response){
//do what ever you want with the response XML
}
}
}
</script>
函数fireRequest(){
..
//解析SOAP请求并将请求设置为“dataContent”
...
var url=//此处的目标网关是Java/PHP或web服务接收器
var postStr=//xml SOAP resquest;
makeRequest(url,postStr);
}
函数getXmlHttpRequestObject(){
if(window.XMLHttpRequest){
返回新的XMLHttpRequest();//Mozilla、Safari。。。
}else if(window.ActiveXObject){
返回新的ActiveXObject(“Microsoft.XMLHTTP”);//IE
}否则{
警报(“您的浏览器不支持XMLHTTP”);
}
}
函数makeRequest(url,参数){
//如果readystate未启动或未完成,请启动一个新请求
//清除所有分区
receiveReq=getXmlHttpRequestObject();
如果(receiveReq.readyState==4 | | receiveReq.readyState==0){
//设置与captcha_test.html的连接。True将请求设置为异步(默认)
接收人公开(“发布”,url,真实);
//设置XmlHttpRequest对象状态更改时将调用的函数
receiveReq.onreadystatechange=响应管理员;
//向请求添加HTTP头
receiveReq.setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
receiveReq.setRequestHeader(“内容长度”,参数长度);
receiveReq.setRequestHeader(“连接”、“关闭”);
//提出请求
接收方发送(参数);
}
}
函数responseHandler(){
如果(receiveReq.readyState==4){
var响应=receiveReq.responseText;
如果(答复){
//对响应XML执行任何您想要的操作
}
}
}
这对你的案子就足够了。使用页面上的方法