http+post+xml
来源:互联网 发布:程序员的浪漫源码下载 编辑:程序博客网 时间:2024/06/01 09:16
最近做一个项目不能使用webservice,必须使用http+post+xml的方式。具体流程是A项目嗲用B项目的接口,参数和返回值的传送接收。以下代码测试可用。
1.请求端代码
package action;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ClientAction extends HttpServlet{ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //req.setCharacterEncoding("utf-8"); StringBuffer reqXml = new StringBuffer();/* reqXml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); reqXml.append("<request>"); reqXml.append(" <meta>"); reqXml.append(" <channeltype>001</channeltype> "); reqXml.append(" <reqserialno>02340385038080</reqserialno>"); reqXml.append(" <trancode>DX001</trancode>"); reqXml.append(" <sourceid>10</sourceid>"); reqXml.append("</meta>"); reqXml.append("<data>"); reqXml.append(" <channeltype>001</channeltype>"); reqXml.append(" <username>gjjxc</username> "); reqXml.append("<password>gjjxc</password> "); reqXml.append(" <phone>18662536750</phone>"); reqXml.append("<content>测试</content>"); reqXml.append("</data>"); reqXml.append("</request>");*/ InputStream input = this.getClass().getClassLoader().getResourceAsStream("message.txt"); BufferedReader reqReader = new BufferedReader(new InputStreamReader(input,"utf-8")); String line2 = null; while((line2 = reqReader.readLine()) != null){ reqXml.append(line2); } reqReader.close(); URL url = new URL("http://localhost:8080/SMSPLANT/testServlet"); HttpURLConnection uc = (HttpURLConnection)url.openConnection(); uc.setConnectTimeout(10000); uc.setReadTimeout(120000); uc.setRequestMethod("POST");// uc.setRequestProperty("Pragma:", "no-cache");// uc.setRequestProperty("Cache-Control", "no-cache");// uc.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); uc.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter(uc.getOutputStream(),"utf-8"); System.out.println("客户端发送xml:"+reqXml.toString()); out.write(reqXml.toString()); out.flush(); out.close(); int state = uc.getResponseCode(); if(state == 200){ //获取返回数据 BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"utf-8")); String line = null; StringBuffer con = new StringBuffer(); while((line = in.readLine()) != null){ //line为返回值,这就可以判断是否成功、 con.append(line); } System.out.println("客户端接收xml:"+con.toString()); in.close(); resp.sendRedirect("http://www.baidu.com"); } }}
2.服务端代码
package com.szwx.servlet;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Writer;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.szwx.webservice.CustomerSmsService;import com.szwx.webservice.impl.CustomerSmsServiceImpl;/** * @author fanzhigang * */public class testAction extends HttpServlet {private CustomerSmsService customerSmsService;//private Logger log = Logger.getLogger(this.getClass());@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {InputStream in = req.getInputStream();BufferedReader read = new BufferedReader(new InputStreamReader(in,"utf-8"));StringBuffer reqXml = new StringBuffer();String line = null;while((line = read.readLine()) != null){reqXml.append(line);}read.close();in.close();System.out.println("服务端接收xml:"+reqXml.toString());customerSmsService = new CustomerSmsServiceImpl();String res = customerSmsService.sendGjjxc(reqXml.toString());//返回resp.setContentType("text/xml;charset=utf-8");Writer out = resp.getWriter();System.out.println("服务端返回xml:"+res);out.write(res);out.flush();out.close();}}
- 关于Http Post Xml
- 关于Http Post XML
- http post xml
- 关于Http Post Xml
- 关于Http Post Xml
- http+post+xml
- .net http post xml 例子
- Http post 请求发送 xml
- C# to POST HTTP with XML
- Http Post Xml形式传递数据
- http post方式发送xml格式消息
- Java发HTTP POST请求(内容为xml格式)
- Java发HTTP POST请求(内容为xml格式)
- Java发HTTP POST请求(内容为xml格式)
- Java发送HTTP POST请求(内容为xml格式)
- Java发送HTTP POST请求(内容为xml格式)
- Java发HTTP POST请求(内容为xml格式)
- Java发HTTP POST请求(内容为xml格式)
- Redis命令总结
- malloc与realloc一个案例测试
- Zookeeper在hbase集群的作用
- android中dip、dp、px、sp和屏幕密度
- 关于Spring3报org.aopalliance.intercept.MethodInterceptor错的问题解决方法
- http+post+xml
- ios 基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果demo
- 今天再次拾起intellij idea
- 函数指针我的一点看法
- 怎样写一个拼写检查器
- 墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律
- Android中如何查看内存(上)
- 水晶报表:满足特定条件的时候隐藏内容
- 转自-麦兜