用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 相关文章推荐
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
热点新闻滚动特效的js代码
Aug 17 Javascript
javascript alert乱码的解决方法
Nov 05 Javascript
JavaScript表格常用操作方法汇总
Apr 15 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
Node.js如何自动审核团队的代码
Jul 20 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
JavaScript日期选择功能示例
Jan 16 Javascript
Angular.js基础学习之初始化
Mar 10 Javascript
全面解析vue中的数据双向绑定
May 10 Javascript
Vue+Element实现网页版个人简历系统(推荐)
Dec 31 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 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
一些关于PHP的知识
2006/11/17 PHP
获取PHP警告错误信息的解决方法
2013/06/03 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
php制作动态随机验证码
2015/02/12 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
Python类的用法实例浅析
2015/05/27 Python
TensorFlow实现模型评估
2018/09/07 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
应用心理学个人求职信范文
2013/12/11 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
新学期教师寄语
2014/04/02 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
2014年环保局工作总结
2014/12/11 职场文书
2015年公路养护工作总结
2015/05/13 职场文书