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());
}
}
}
}

最新文章

  1. 基于ajax与msmq技术的消息推送功能实现
  2. NOIP2001统计单词个数[序列DP]
  3. 打开APK里的AndroidManifest.xml乱码
  4. 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)
  5. ECShop 添加文章时作者默认为当前登录用户
  6. wordpress页面前端添加编辑按钮
  7. Careercup - Google面试题 - 5724823657381888
  8. linux 打开文件数 too many open files 解决方法
  9. acdream:Andrew Stankevich Contest 3:Two Cylinders:数值积分
  10. jQuery EasyUI的使用入门
  11. Xcode插件失效解决办法
  12. ES6躬行记(21)——类的继承
  13. 网络爬虫 - 真&#183;AC自动机
  14. 三,用户交互方式与python基本数据类型
  15. 2019.02.09 bzoj2560: 串珠子(状压dp+简单容斥)
  16. puppeteer截图
  17. 打开窗口进行选择文件(txt文件),打开所选文件,读入文件
  18. JDBC通用DAO
  19. 分享基于Sails.js和React.js的全栈聊天室
  20. P4098 [HEOI2013]ALO 可持久化01Trie

热门文章

  1. 玩转公众号markdown排版
  2. [转]JAVA回调机制(CallBack)详解
  3. 省市区县的sql语句——区县
  4. css+js+html实现的遮罩
  5. dubbo之泛化引用
  6. iOS安全策略之HTTPS
  7. linux中tomcat启动脚本:关闭、发布、重启、测试是否成功
  8. vue中用v-for循环出出来的div下面的span不给宽度也能相对于div居中
  9. eas之常用源码整理
  10. dmidecode输出详解