此博文对应的WebService服务端博文是 使用JDK发布一个简单的WebService 。
值得注意Jquery不能跨域访问。也就是访问WebService的服务必须和你项目是同一个Ip。
JSP核心代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jquery调用WebService</title>
<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function sendWebService(){
var v=$("#info").val();
var data='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
'<soap:Body><ns2:findHiById xmlns:ns2="http://config.cxf.service.com/">'+
'<arg0>'+v+'</arg0></ns2:findHiById></soap:Body></soap:Envelope>';
$.ajax({
//WebService 服务地址
url:'http://localhost:8080/WSService/cxf/hi',
//请求方式
type:'POST',
dataType:'xml',
//请求行
contentType:'text/xml;charset=UTF-8',
//请求体
data:data,
success:function(d){//返回一个对象
var addr=$(d).find('address').eq(0).text();
var id=$(d).find('id').eq(0).text();
var name=$(d).find('name').eq(0).text();
$("#showInfo").text("id="+id+",name="+name+",address="+addr);
},
error:function(){
alert("error");
}
});
}
</script>
</head>
<body>
请输入数字ID:<input type="text" id="info"/>
<input type="button" value="调用WebService服务" οnclick="sendWebService()"/>
<br/>
<div id="showInfo">
</div>
</body>
</html>