javascript,jquery调用xfire驱动的webservice
来源:互联网 发布:在淘宝联盟里如何赚钱 编辑:程序博客网 时间:2024/05/18 18:55
直接上代码:
soupWrapper.js
/** * 定义满足 SOAP 协议的参数。 * 在这个方法中要定义以下几个参数: * 1.调用服务的方法名; * 2.参数名称以及参数值 *//** 仅带一个参数指明要调用某服务的 ** 方法(js不支持方法同名不同参,后定义的会将先定义的覆盖掉)~ */function wrapMethodName(strMethodName) { var postData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; postData += "<soap:Envelope "; postData += "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";postData += "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" ";postData += "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"; postData += "<soap:Body><"; postData += strMethodName; postData += " xmlns=\"http://localhost:8888/FirstWebServiceServer\" /></soap:Body>"; postData += "</soap:Envelope>"; alert("wrapData(strMethodName)\n拼裝結果:\n" + postData); return postData;}/** * 第一个参数指明要调用的方法, * 第二个参数传递字符串 json 数据。 * 注意,虽然对于不管何种需求,都只是向服务器传递了一个 json字符串类型的数据 * 但由于 json 这个数据格式能够包含非常丰富的数据, * 所以说,是完全能够弥补调用方法的参数仅限于一个的缺憾的~ */function wrapData(strMethodName, strJsonParam) { // 根据WSDL分析sayHelloWorld是方法名,parameters是传入参数名 var postData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; postData += "<soap:Envelope "; postData += "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";postData += "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" ";postData += "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"; postData += "<soap:Body><"; postData += strMethodName; postData += " xmlns=\"http://localhost:8888/FirstWebServiceServer\"><jsonData>"; postData += strJsonParam; postData += "</jsonData></"; postData += strMethodName; postData += "></soap:Body>"; postData += "</soap:Envelope>"; alert("wrapData(strMethodName, strJsonParam)\n拼裝結果:\n" + postData); return postData;}
testSimplified.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>testSimplified3</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="content-type" content="text/html; charset=UTF-8"><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/soupWrapper.js"></script><script type="text/javascript">$(function() {$("#btnWs").click(btnAjaxPost);}) function btnAjaxPost() { $.ajax({ type: 'post', contentType: 'application/json; charset=utf-8', url: 'http://localhost:8888/FirstWebServiceServer/services/Weather', data: wrapMethodName("weather"),dataType: 'xml',success: function(xml) {var jsonStr; if($.browser.msie){ jsonStr = xml.getElementsByTagName("ns1:out")[0].childNodes[0].nodeValue; } else{ // 这种写法通用一点,调用 webservice 的什么方法是会经常发生变动的~ jsonStr = $(xml).find("[nodeName=ns1:out]").text(); } if(jsonStr != null) { // 对 JQuery API 不是很熟悉~ $('#result').text(jsonStr); } else { alert("jsonStr == null"); return; }},error: function(x, e) {alert('error:' + x.responseText);}});}</script></head><body><input type="button" id="btnWs" value="使用soupWrapper.js调用Weather服务的weather方法" /><div id='result'></div><div>有点儿组牛角尖了,查了蛮久xfire如何返回json数据。</div><div>其实也不用啊,用JQuery从返回的xml找到实际的json数据并不难啊,下面两种方法都可以:</div><div>resultXml.getElementsByTagName("ns1:out")[0].childNodes[0].nodeValue</div><div>$(resultXml).find("[nodeName=ns1:out]").text();</div><div>有时候真的去独立思考一下,所寻找的答案是非真值得自己去花费那么多的精力~</div></body></html>
- javascript,jquery调用xfire驱动的webservice
- 客户端调用Xfire WebService(含JavaScript)
- java(xfire)调用java编写的webservice
- Android调用Xfire开发的java-webservice
- webservice之xfire的客户端调用
- java调用webservice XFire!
- java调用webservice XFire
- java调用webservice XFire
- xfire webservice接口调用
- webservice的axis2客户端调用方式和xfire调用方式
- c#、javascript AJAX、和jquery调用webservice的方法
- xfire调用webService接口方法
- xfire+webservice(客户端调用篇)
- xfire开发并调用webservice
- xfire客户端调用webservice测试
- OSGI系列 xfire调用WebService
- 使用xFire调用Webservice接口
- 使用java的xfire调用.net的webservice-王亮
- Android 获取屏幕分辨率
- 在servlet中注入spring容器中的bean
- 测试
- GIS 系统开发
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- javascript,jquery调用xfire驱动的webservice
- MyEclipse管理应用服务器
- jQuery中选择器的空格问题
- 磁道、扇区和柱面
- 转自w3c,从网上加载jquery库
- 吉他第三课
- 4399 面试笔试题
- Java不同JDK版本下地图图像处理效率对比分析
- c# socket 问题汇总