08.HttpUrlconnection方式调用
2024-10-01 06:30:53
package com.rl.client; import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.StringReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.List; import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class TestHttpURLConnection { public static void main(String[] args) throws URLException {
URL url = new URL("http://127.0.0.1:8080/hello?wsdl"); URLConnection uc = url.openConnection(); HttpURLConnection httpuc = (HttpURLConnection) uc; httpuc.setDoInput(true);
httpuc.setDoOutput(true);//开启输入输出
httpuc.setRequestMethod("POST");
httpuc.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
String data = "<soapenv:Envelop xmlns:soapenv=\"http://schemas.xmlsoap.org/soap\">"
+ "<soapenv:Body>"
+ "<q0:sayBye>"
+ "<arg0>wangwu</arg0>"
+ "</q0:sayBye>"
+ "</soapenv:Body>"
+ "</soapenv:Envelope>"; OutputStream out = httpuc.getOutputStream();
out.write(data.getBytes());//已经把消息给写过去了. if(httpuc.getResponseCode()==200){
InputStream in = httpuc.getInputStream();//通过输入流把消息接收完
BufferedReader br = new BufferedReader(new InputStreamReader(in));
//写Socket的那种输入流的方式来读它
String line = null;
StringBuffer sb = new StringBuffer();
while((line = br.readLine())!=null ){
sb.append(line);
}
//StringBuffer是一个可变字符串,我们要把它变成一个文档来解析
//java代码里面解析XML
SAXReader reader = new SAXReader();
Document doc = reader.read(new StringReader(sb.toString()));//它的返回值是一个文档对象Document
List<Element> eList = doc.selectNodes("//return");
for (Element element : eList) {
System.out.println(element.getText());
}
}
}
}
最新文章
- 基于ajax与msmq技术的消息推送功能实现
- NOIP2001统计单词个数[序列DP]
- 打开APK里的AndroidManifest.xml乱码
- 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)
- ECShop 添加文章时作者默认为当前登录用户
- wordpress页面前端添加编辑按钮
- Careercup - Google面试题 - 5724823657381888
- linux 打开文件数 too many open files 解决方法
- acdream:Andrew Stankevich Contest 3:Two Cylinders:数值积分
- jQuery EasyUI的使用入门
- Xcode插件失效解决办法
- ES6躬行记(21)——类的继承
- 网络爬虫 - 真&#183;AC自动机
- 三,用户交互方式与python基本数据类型
- 2019.02.09 bzoj2560: 串珠子(状压dp+简单容斥)
- puppeteer截图
- 打开窗口进行选择文件(txt文件),打开所选文件,读入文件
- JDBC通用DAO
- 分享基于Sails.js和React.js的全栈聊天室
- P4098 [HEOI2013]ALO 可持久化01Trie