您的位置:首页 > Web前端 > JavaScript

使用JavaScript调用WebService的示例

2008-02-15 18:19 746 查看
步骤如下:

下载微软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即可取到值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: