用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示例收集
Nov 05 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
node.js中的fs.rmdir方法使用说明
Dec 16 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
详解jquery事件delegate()的使用方法
Jan 25 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
Aug 25 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
微信网页登录逻辑与实现方法
Apr 29 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
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Django项目中包含多个应用时对url的配置方法
2018/05/30 Python
python实现自动登录后台管理系统
2018/10/18 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Pandas之MultiIndex对象的示例详解
2019/06/25 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
网络安全方面的面试题
2016/01/07 面试题
2016秋季幼儿园开学寄语
2015/12/03 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
Mysql MVCC机制原理详解
2021/04/20 MySQL
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis