HTTP + XML 报文的接口开发

原创 2009年03月04日 11:44:00

好多朋友问我HTTP +XML报文接口怎样做,客户端怎样写,服务端怎样写。

我想应该是这样的:

服务端:

InputStream in = request.getInputStream();
        SAXReader saxReader = new SAXReader();
        InputStreamReader strInStream = new InputStreamReader(in, "UTF-8");
        try {
            Document document = saxReader.read(strInStream);
            Element root = document.getRootElement();
            Iterator lv = root.elementIterator("FILE");
            Element el = null;
            while (lv.hasNext()) {
                el = (Element) lv.next();               
                System.out.println(el.elementText("FILE_STRING"));
                System.out.println(el.elementText("FILE_NAME"));
                //逻辑处理
            }
            //String file = document.selectSingleNode("/FILE/FILE_STRING").getText();
            //System.out.println(file);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
       
        //返回报文
        Document document = DocumentHelper.createDocument();
        Element rootElement = document.addElement("RET_INFO");
        addElement(rootElement,"RESULT", "操作成功");
        DataOutputStream out = new DataOutputStream(response.getOutputStream());
        XMLWriter writer = new XMLWriter(out);
        writer.write(document);
        writer.close();
        out.flush();

 

客户端:

Document document = DocumentHelper.createDocument();
            Element rootElement = document.addElement("FILELIST");
            Element planElement = rootElement.addElement("FILE");
            addElement(planElement,"FILE_STRING", r1);
            addElement(planElement,"FILE_NAME", r2);
           
            Element planElement2 = rootElement.addElement("FILE");
            addElement(planElement2,"FILE_STRING", "MMMMMMMMM");
            addElement(planElement2,"FILE_NAME", "NNNNNNNNNN");
           
            HttpURLConnection http;
           
            try {
                URL urls = new URL("http://127.0.0.1:800/aa/servlet/Test");
                http = (HttpURLConnection) urls.openConnection();
                http.setDoOutput(true);
                http.setDoInput(true);
                http.setRequestMethod("POST");
                DataOutputStream out = new DataOutputStream(http.getOutputStream());               
                XMLWriter writer = new XMLWriter(out);
                writer.write(document);
                writer.close();
                out.flush();
               
                //System.out.println( in(http.getInputStream()));
                //接口返回的报文
                Document rt =  in_doc(http.getInputStream());
                System.out.println(rt.selectSingleNode("/RET_INFO/RESULT").getText());
               
            } catch (Exception ex) {
                ex.printStackTrace();
            }

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

对于java用发送http请求,请求内容为xml格式

package com.infowarelab.test;     import java.io.BufferedInputStream;  import java.io.Buffere...

PostMan使用模拟http请求 发送xml报文请求

1.谷歌浏览器下直接安装打开 postman插件。2.选择http提交请求方式post或者get,配置http请求头文件 可以切换下视图 3.添加body,xml请求报文 4.点击请求提交...

xml格式报文的拼装,和解析成实体类

我们的微信支付,使用的是第三方的支付,平安银行的微信支持渠道。所有的接口请求、应答都是xml格式报文,这样就需要用到xml格式报文的拼装和解析,这儿简单讲一下。...

关于JavaScript的 childNodes 方法的返回结果

在js里面利用 childNodes 能够得到一个对象里面的子节点, 其返回值是一个子节点集合,用js数组接收 例: var array = []; array = 对象.childNodes; 当我...
  • lh11077
  • lh11077
  • 2013年05月17日 21:39
  • 707

Ext中获取节点对象的方法分析

 Ext中提供了三个方法获取某个节点对象,在使用的时候经常混淆,现把三个方法区别记录下来,供大家参考。     Ext.get(id):返回一个HTML DOM对象。  Ext.getCmp(id):...
  • weoln
  • weoln
  • 2008年10月17日 09:09
  • 2611

APP HTTP接口报文的加密与压缩

在做APP类的产品时,整个业务逻辑通常都会放在服务端,客户端大部分仅用来展示。  在客户端与服务端的交互过程中,报文的安全及流量的节约相对来说就显得比较重要。   本文展示如何通过3DES对报文进行加...
  • nic7968
  • nic7968
  • 2015年08月10日 17:10
  • 595

Java 以XML格式的http请求 客户端请求报文框架搭建

//供调用的类 /**  * 平台交互控制中心  */ public abstract class PlatformController {     private static Logger ...

(0011) iOS 开发之模拟HTTP请求与响应,返回自己想要的报文。

iOS 本地模拟 HTTP请求的返回数据,用来先行开发。 在新需求的确定之后,在开发的开始阶段,一般后台接口先开发,这时客户端是拿不到接口文档规定的报文数据的,那我们怎么模拟接口请求返回数据尼? ...

一款http报文分析工具--fiddler

  • 2015年11月09日 11:55
  • 1.21MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HTTP + XML 报文的接口开发
举报原因:
原因补充:

(最多只允许输入30个字)