我希望能够直接从JavaScript调用SOAP WebService,但一直没有成功。我认为我必须构建SOAP包装器(见下文),同时我使用了jQuery。
首先,我需要确定是否可以调用位于其他地方的SOAP Webservice,即是否有跨域限制等限制。
另外,我不确定需要使用什么URL,SOAP服务使用Ladon公开,为了调试目的,我已经使用soapUI检查了WS正常工作,并找到以下URL:
- WSDL URL:
现在这是我的实际JS调用(注释中有一些问题):
首先,我需要确定是否可以调用位于其他地方的SOAP Webservice,即是否有跨域限制等限制。
另外,我不确定需要使用什么URL,SOAP服务使用Ladon公开,为了调试目的,我已经使用soapUI检查了WS正常工作,并找到以下URL:
- WSDL URL:
http://192.168.1.5/ws/MyWS/soap/description
//据我所知,不能是这个
- 服务端点:http://192.168.1.5/ws/MyWS/soap
- SOAPAction:http://192.168.1.5/ws/MyWS/soap/myOperation
我认为应该使用端点或SOAPAction,但它没有起作用。我可能在这里漏掉了什么,或者后面的Javascript代码有很多错误,我不能确定。现在这是我的实际JS调用(注释中有一些问题):
<html>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<head>
<script type="text/javascript" src="ressources/jquery-1.7.1.min.js"></script>
<script type="text/javascript"></script>
</head>
<body>
<div id="debug" style="background-color:#EEEEEE; height:250px; width:600px; overflow:auto;"> </div>
</body>
</html>
最好的问候
编辑: 在继续尝试寻找答案时,我已经阅读了 => 最简单的SOAP示例 ,Prestaul说“除非Web服务与您的页面在同一个域上,否则无法使用纯JavaScript完成此操作。”所以,也许我正在尝试做一些不可能的事情?这是为什么它不能工作的原因吗?