用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 相关文章推荐
JavaScript类库D
Oct 24 Javascript
JS 对输入框进行限制(常用的都有)
Jul 30 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
Jan 04 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
详解vue express启动数据服务
Jul 05 Javascript
详解vue中组件参数
Jul 09 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
JS 实现微信扫一扫功能
Sep 14 Javascript
angula中使用iframe点击后不执行变更检测的问题
May 10 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 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
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
js html实现计算器功能
2018/11/13 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python队列Queue的详解
2019/05/10 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python logging设置和logger解析
2019/08/28 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
编码实现字符串转整型的函数
2012/06/02 面试题
交通法规咨询中心工作职责
2013/11/27 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
科学育儿宣传标语
2014/10/08 职场文书
实习单位证明范例
2014/11/17 职场文书
小学安全工作总结2015
2015/05/18 职场文书
学校学期工作总结
2015/08/13 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS