当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用JavaScript调用WebService的示例

Javascript
JavaScript窗口功能指南之检查一个窗口是否存在
用JAVASCIRPT写的一个动态显示日期的函数!
JavaScript窗口功能指南之打开一个新窗口
JavaScript窗口功能指南之在窗口中书写内容
JavaScript窗口功能指南之引用已打开的窗口
JavaScript窗口功能指南之发挥窗口特征
JavaScript窗口功能指南之命名窗口和框架
JavaScript窗口功能指南之创建对话框
对连串英文自动换行的解决方法 IE5.5 无忧脚本
javascript扫雷游戏,版本二
window.external的使用
JavaScript 是什麽?
SelectBox in Frame
24点终结者(javascript)
用Javascript转换源代码
JS特效之状态栏冒泡
JavaScript:实现滚动带链接的字幕
jscript错误代码及相应解释大全
实现随鼠标飘浮移动文字的JavaScript
怎样捕捉 Delete 键

Javascript 中的 用JavaScript调用WebService的示例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 159 ::
收藏到网摘: n/a

JavaScript用htc实现WebService的调用 步骤如下:
下载微软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即可取到值。