用JavaScript调用WebService的示例


Posted in Javascript onApril 07, 2008

步骤如下:

下载微软HTC组件:http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/behaviors/library/webservice/default.asp

Web服务WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="WS_SYSTEM_LOGIN_SELECT" targetNamespace="SCRM4U_SERVICE" xmlns:tns="SCRM4U_SERVICE" xmlns:wsdlns="SCRM4U_SERVICE" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns1="SCRM4U_SERVICE">
    <document>
        <URL>http://192.168.2.148:8080/SCRM4U_SERVICE/servlet/HLP_PWS_SYSTEM_LOGIN_SELECT.htm</URL>
        <line>?</line>
    </document>
    <types>
        <schema targetNamespace="SCRM4U_SERVICE" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="qualified">
            <complexType name="W_S_LOGIN_USER_INFO">
                <all>
                    <element name="W_V_USID" type="xsd:string">
                    </element>
                    <element name="W_V_USER_MEI" type="xsd:string">
                    </element>
                    <element name="W_V_USID2" type="xsd:string">
                    </element>
                    <element name="W_V_REM_PHR" type="xsd:string">
                    </element>
                    <element name="W_V_REM_RES" type="xsd:string">
                    </element>
                    <element name="W_V_USR_AST" type="xsd:string">
                    </element>
                    <element name="W_V_PSN_NO" type="xsd:string">
                    </element>
                    <element name="W_V_MENUROLE_ID" type="xsd:string">
                    </element>
                    <element name="W_V_USR_AST_NM" type="xsd:string">
                    </element>
                    <element name="W_N_USR_AST_PRI_ORD" type="xsd:long">
                    </element>
                    <element name="W_V_SCHOOL_ID" type="xsd:string">
                    </element>
                    <element name="W_V_EXM_NO" type="xsd:string">
                    </element>
                    <element name="W_V_SCRG_NO" type="xsd:string">
                    </element>
                    <element name="W_V_GRNTR_PSN_NO" type="xsd:string">
                    </element>
                </all>
            </complexType>
            <element name="WS_SYSTEM_LOGIN_SELECT.Execute">
                <complexType>
                    <sequence>
                        <element minOccurs="1" maxOccurs="1" name="P_v_userid" type="xsd:string"/>
                        <element minOccurs="1" maxOccurs="1" name="P_v_password" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="WS_SYSTEM_LOGIN_SELECT.ExecuteResponse">
                <complexType>
                    <sequence>
                        <element minOccurs="1" maxOccurs="1" name="P_s_login_user_info" type="tns1:W_S_LOGIN_USER_INFO"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </types>
    <message name="WS_SYSTEM_LOGIN_SELECT.ExecuteSoapIn">
        <part name="parameters" element="tns:WS_SYSTEM_LOGIN_SELECT.Execute"/>
    </message>
    <message name="WS_SYSTEM_LOGIN_SELECT.ExecuteSoapOut">
        <part name="parameters" element="tns:WS_SYSTEM_LOGIN_SELECT.ExecuteResponse"/>
    </message>
    <portType name="WS_SYSTEM_LOGIN_SELECTSoapPort">
        <operation name="Execute">
            <input message="wsdlns:WS_SYSTEM_LOGIN_SELECT.ExecuteSoapIn"/>
            <output message="wsdlns:WS_SYSTEM_LOGIN_SELECT.ExecuteSoapOut"/>
        </operation>
    </portType>
    <binding name="WS_SYSTEM_LOGIN_SELECTSoapBinding" type="wsdlns:WS_SYSTEM_LOGIN_SELECTSoapPort">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="Execute">
            <soap:operation soapAction="SCRM4U_SERVICEaction/AWS_SYSTEM_LOGIN_SELECT.Execute"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    <service name="WS_SYSTEM_LOGIN_SELECT">
        <port name="WS_SYSTEM_LOGIN_SELECTSoapPort" binding="wsdlns:WS_SYSTEM_LOGIN_SELECTSoapBinding">
            <soap:address location="http://192.168.2.148:8080/SCRM4U_SERVICE/servlet/aws_system_login_select"/>
        </port>
    </service>
</definitions>

演示代码:

<html>
<head>
</head>
<script language="javascript">...
function doService(userid, password) ...{

    //service.useService({webservice location},{webservice class name})
    service.useService("http://192.168.2.148:8080/SCRM4U_SERVICE/servlet/aws_system_login_select?wsdl","WS_SYSTEM_LOGIN_SELECT");
    //service.Service.callService({webmethod},{input parameters needed})
    service.WS_SYSTEM_LOGIN_SELECT.callService(showResult, "Execute", userid, password);
}

function showResult(result)...{

    alert(result.value.W_V_USER_MEI);
}
</script>
<body>
<div id="service" style="behavior:url(./webservice.htc)" ></div>
UserName:<input type="text" id="userid" name="userid">
<br/>
PassWord:<input type="text" id="password" name="password">
<br/>
<input type="button" value="callWebservice" onClick="doService(document.getElementById('userid').value,document.getElementById('password').value)"/>
</body>
</html>
注意:如果服务返回值类型是String,直接用result.value即可取到值。

Javascript 相关文章推荐
12个非常有创意的JavaScript小游戏
Mar 18 Javascript
JQuery 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 Javascript
初学js插入节点appendChild insertBefore使用方法
Jul 04 Javascript
js showModalDialog参数的使用详解
Jan 07 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
Aug 24 Javascript
js实现的简洁网页滑动tab菜单效果代码
Aug 24 Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
微信小程序 循环及嵌套循环的使用总结
Sep 26 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
createObjectURL方法实现本地图片预览
Sep 30 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
Apr 07 #Javascript
javascript add event remove event
Apr 07 #Javascript
JS动画效果代码3
Apr 03 #Javascript
CSS常用网站布局实例
Apr 03 #Javascript
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 #Javascript
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 #Javascript
JavaScript的面向对象方法以及差别
Mar 31 #Javascript
You might like
Content-type 的说明
2006/10/09 PHP
php header()函数使用说明
2008/07/10 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
银行金融服务方案
2014/06/11 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
工作试用期自我评价
2015/03/10 职场文书
Python time库的时间时钟处理
2021/05/02 Python
基于flask实现五子棋小游戏
2021/05/25 Python
python flask开发的简单基金查询工具
2021/06/02 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android