WebService基础教程之三(通过UrlConnection调用WebService服务)

前端之家收集整理的这篇文章主要介绍了WebService基础教程之三(通过UrlConnection调用WebService服务)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用UrlConnection调用WebService服务与上篇博文中的通过Ajax调用WebService服务的原理是一样的,只不过一个是js代码,一个是java代码而已。

直接上代码

package cn.itcast.ws.urlConnection;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
 * 通过UrlConnection调用WebService服务
 * @author pengdi
 *
 */
public class App {
	public static void main(String[] args) throws Exception {
		//服务的地址
		URL wsUrl = new URL("http://localhost:6767/hello");
		
		HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection();
		
		//有输入
		conn.setDoInput(true);
		//有输出
		conn.setDoOutput(true);
		conn.setRequestMethod("POST");
		conn.setRequestProperty("Content-Type","text/xml;charset=UTF-8");
		
		OutputStream os = conn.getOutputStream();
		
		String param1 = "qwer";
		String soap = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' " +
				"xmlns:q0='http://ws.itcast.cn/' " +
				"xmlns:xsd='http://www.w3.org/2001/XMLSchema' " +
				"xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" +
				  "<soapenv:Body>" +
					"<q0:sayHrllo>" +
					  "<arg0>" + param1  + "</arg0>" +
					"</q0:sayHrllo>" +
				  "</soapenv:Body>" +
				"</soapenv:Envelope>";
		os.write(soap.getBytes());
		
		InputStream is = conn.getInputStream();
		
		byte[] b = new byte[1024];
		int len = 0;
		String s = "";
		while ((len = is.read(b)) != -1) {
			String ss = new String(b,len,"UTF-8");
			s+=ss;
		}
		System.out.println(s);
		
		is.close();
		os.close();
		conn.disconnect();
	}
}

猜你在找的WebService相关文章