您的位置:首页 > 其它

解决webservice的跨域请求问题

2015-07-14 16:11 519 查看
客户端使用HttpURLConnection发送webservice请求

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLConnection;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HttpURLConnectionServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String name = request.getParameter("name");

System.out.println("doPost "+name);

String data = "<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><ns2:sayHello xmlns:ns2='http://ws.day01_ws.atguigu.com/'><arg0>"+name+"</arg0></ns2:sayHello></soap:Body></soap:Envelope>";

URL url = new URL("http://192.168.10.165:8888/day01_ws/datatypews");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("POST");

connection.setDoOutput(true);

connection.setDoInput(true);

connection.setRequestProperty("Content-Type", "text/xml;charset=utf-8");

OutputStream os = connection.getOutputStream();

os.write(data.getBytes("utf-8"));

int responseCode = connection.getResponseCode();

if(responseCode==200) {

InputStream is = connection.getInputStream();//String xml

System.out.println("return "+is.available());

response.setContentType("text/xml;charset=utf-8");

ServletOutputStream outputStream = response.getOutputStream();

byte[] buffer = new byte[1024];

int len = 0;

while((len=is.read(buffer))>0) {

outputStream.write(buffer, 0, len);

}

outputStream.flush();

}

}

}

页面js调用:

$.post(

"HttpURLConnectionServlet",

"name="+name,

function(msg) {

//alert(msg);

var $Result = $(msg);

var value = $Result.find("return").text();

alert(value);

},

"xml"

);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: