08.HttpUrlconnection方式调用
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());
}
}
}
}
08.HttpUrlconnection方式调用的更多相关文章
- java通过HttpClient方式和HttpURLConnection方式调用WebService接口
1.引入maven依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifac ...
- 使用ajax和urlconnection方式调用webservice服务
<html> <head> <title>使用ajax方式调用webservice服务</title> <script> var xhr = ...
- Java调用WebService方法总结(9,end)--Http方式调用WebService
Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...
- Atitit 动态调用webservice与客户端代理方式调用
Atitit 动态调用webservice与客户端代理方式调用 方式1: 使用call.invoke 直接调用WSDL,缺点:麻烦,不推荐--特别是JAVA调用.NET的WS时,会有不少的问题需要解 ...
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- HttpClient Get/Post方式调用Http接口
本节摘要:本节主要分别介绍如何用get方式.post方式向http接口发送数据. preparation 1. 项目环境如下: myeclipse6.5 .tomcat5.0.system:xp.JD ...
- C#以post方式调用struts rest-plugin service的问题
struts2: 玩转 rest-plugin一文中,学习了用struts2开发restful service的方法,发现用c#以post方式调用时各种报错,但java.ajax,包括firefox ...
- 反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性、字段),而不去使用Invoke方法)
反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性.字段),而不去使用Invoke方法) 创建Delegate (1).Delegate.CreateDelegate(Type, ...
- Matlab与C/C++联合编程之Matlab以MEX方式调用C代码(五)完整过程加示
如下为本人亲证代码: 一: 编译器的安装与配置(环境不同,显示结果不同) 要使用MATLAB编译器,用户计算机上应用事先安装与MATLAB适配的以下任何一种ANSI C/C++编译器: 5.0.6.0 ...
随机推荐
- 关于17个Cr的430采购的注意事项 430F
430F不锈钢是在430钢上加上易切削性能的钢种.用于自动车床.螺栓和螺母等.430LX在430钢中添加Ti或Nb.降低C含量,改善了加工性能的和焊接性能.用于热水罐.供热水系统.卫生器具.家庭用耐用 ...
- react基础篇三
事件处理 React事件绑定属性的命名采用驼峰式写法,而不是小写. 如果采用 JSX 的语法你需要传入一个函数作为事件处理函数,而不是一个字符串(DOM元素的写法) 例如,传统的 HTML: < ...
- dapper.net 存储过程
var param = new DynamicParameters(); param.Add(); param.Add(); param.Add(, DbType.Int32, ParameterDi ...
- sql server 查询时间 格式化输出
use test select * from vote insert into vote (contents) values(GETDATE()) insert into vote (contents ...
- MAMP PRO mysql无法启动
mac上可能勾选了软件自动更新,然后MAMP PRO 升级了. 升级了之后,mysql启动就出问题了,看报错日志: InnoDB: The error means the system cannot ...
- EMC VNX5200/5400存储 新增LUN与Hosts映射操作
EMC VNX5200/5400 1.创建RAID Groups 1.1 进入EMC VNX5200/5400主界面,依次选择Storage——Storage Pools——RAID ...
- 【转】VMWare vCenter 6.0安装配置
版权声明: 专注于"GIS+"前沿技术的研究与交流,将云计算技术.大数据技术.容器技术.物联网与GIS进行深度融合,探讨"GIS+"技术和行业解决方案:文章允许 ...
- 复习MySQL③导入数据、检查及修改
导入数据: 用insert into语句为表插入数据: - insert into 表名(字段1,字段2,…) values …… 导入外部文本文件: - 导入外部txt文件(导入CSV文件分隔符为' ...
- 15.5.3 【Task实现细节】状态机的结构
状态机的整体结构非常简单.它总是使用显式接口实现,以实现.NET 4.5引入的 IAsync StateMachine 接口,并且只包含该接口声明的两个方法,即 MoveNext 和 SetState ...
- jenkins+svn+tomcat部署war包
svn是版本控制器,是提供一个版本库让程序员把项目提交上去,每一次更新代码提交后都会记录 jenkins是持续部署的工具,是让项目自动部署发布出去的工具,当项目代码发生改变时就需要重新打包成war包, ...