protected ResponseMessage httpProtocol_http(String businessServiceName,RequestMessage message) throws Exception {
String url_str = protocol + ":" + "//" + host + ":" + port + uri;
logger.debug("asip服务地址:" + url_str);
URL url = new URL(url_str);
URLConnection connection = url.openConnection();
/**
* 构建soap消息
*/
StringBuffer soapMessage = new StringBuffer();
soapMessage.append("<soap:Envelope xmlns:soap=\"" + SOAP_NS + "\" soap:encodingStyle=\"" + ENCODINGSTYLE_NS
+ "\" xmlns:xsd=\"" + XSD_NS + "\" xmlns:xsi=\"" + XSI_NS + "\">");
soapMessage.append("<soap:Body>");
soapMessage.append("<ns1:call xmlns:ns1=\"http://service.asip.regaltec.com/\">");
soapMessage.append("<ns1:in0>").append(businessServiceName).append("</ns1:in0>");
soapMessage.append("<ns1:in1>").append(StringEscapeUtils.escapeXml(message.toString())).append(
"</ns1:in1>");
soapMessage.append("<ns1:in2>").append("").append("</ns1:in2>");
soapMessage.append("</ns1:call>");
soapMessage.append("</soap:Body>");
soapMessage.append("</soap:Envelope>");
logger.debug("发送到asip的soap消息内容:" + soapMessage);
byte[] b = soapMessage.toString().getBytes();
HttpURLConnection con = (HttpURLConnection) connection;
con.setRequestProperty("Content-Length", String.valueOf(b.length));
con.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
OutputStream out = con.getOutputStream();
out.write(b);
out.close();
// 发送完毕
// 读取响应
InputStreamReader isr = new InputStreamReader(con.getInputStream());
BufferedReader in = new BufferedReader(isr);
String inputLine = null;
StringBuffer result = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
result.append(inputLine);
}
in.close();
logger.debug("接收到asip的soap消息内容:" + result);
/**
* 解析soap消息
*/
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(result.toString())));
String callResponse = getAsipReturnString(doc);
return ResponseMessage.newInstance(callResponse);
}
分享到:
相关推荐
Java原生HttpUrlConnection访问WebService实例,附相关jar包...新手整理不喜勿喷
使用HttpURLConnection直接调用.net的WebService
JAVA代码里,HttpURLConnection获取webservice的值,包含W3C解析XML节点方法
HttpURLConnection调用三方HTTP接口,带有FILE文件参数
HttpURLConnection实现三方接口HTTP调用调用,带有FILE文件参数
介绍了android调用.net上创建的webservice的详细过程。其中介绍了webservice在vs2010上的创建及注意事项;eclipse上配置android开发 环境的详细步骤;httpurlconnection的具体用法;利用xmlpull对读取的数据流进行...
主要介绍了java后台调用HttpURLConnection类模拟浏览器请求实例,该实例可用于接口调用,具有一定的实用价值,需要的朋友可以参考下
HttpURLConnection文件下载\httpURLConnection文件下载
使用HttpURLConnection或HttpClient方式传json值到spring中
调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...
HttpURLConnection的demo,里面有网络请求get post 上传文件,下载文件,介绍HttpURLConnection这个类整体流程是怎样使用的,方便初学者学习
自己写了一个基于httpurlconnection和Asynctask的例子
import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class HttpTest { private HttpURLConnection hc = ...
HttpURLConnection使用总结示例源码
HttpUrlConnection获取json数据
java HttpURLConnection示例 HttpURLConnection工具
使用HttpURLConnection发送短信
代码包含了httpurlconnection基本操作,一些正常的操作。
本文目录第一步:添加网络访问权限第二步:使用HttpURLConnection访问网络代码示例 Android原生目前支持两种方式访问http协议的网络,第一种是HttpURLConnection,另外一种是oKHttp,下面来介绍一下用...
主要介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,非常具有实用价值,需要的朋友可以参考下