通过URLConnection的方式访问WebService

来源:互联网 发布:图片透视软件 编辑:程序博客网 时间:2024/05/01 00:56

此博文对应的WebService服务端博文是  使用JDK发布一个简单的WebService  。

主要代码如下

 

package com.client.jdk;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * @author jackphang * @date 2013-4-12 * @description 使用URLConnection访问WebService(通常用于Android应用) */public class UrlConnectionClient {/** * @param args * @throws MalformedURLException */public static void main(String[] args) throws Exception {URL url = new URL("http://localhost:1111/hello");HttpURLConnection conn = (HttpURLConnection) url.openConnection();// 是否有输入conn.setDoInput(true);// 是否有输出conn.setDoOutput(true);// POST请求conn.setRequestMethod("POST");// 重新设置请求头conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");// 请求体String value = "发送参数";String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"com.pyy.mypackage\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"+ "<soapenv:Body> <q0:mySayHello><str>"+ value+ "</str> <age>11</age> </q0:mySayHello></soapenv:Body></soapenv:Envelope>";OutputStream out = conn.getOutputStream();out.write(soap.getBytes("UTF-8"));// 返回的数据InputStream in = conn.getInputStream();int len = 0;byte[] b = new byte[1024];StringBuilder builder = new StringBuilder();while ((len = in.read(b)) != -1) {builder.append(new String(b, 0, len, "UTF-8"));}System.out.println(builder.toString());String respValue = builder.toString();System.out.println("服务器返回的数据:" + respValue);in.close();out.close();conn.disconnect();}}


URLConnection主要用于Android编程。

原创粉丝点击