搭建一个Struts的java服务器,
客户端通过C++提交的XML数据流,
现在不太清楚怎么在Struts里面接收XML流,并解析?注:
 网上查了半天找到下面的类子,但是又不明白在那里调用?
 望牛人指点一下,不胜感激  //获取post数据
     public String getDoc(HttpServletRequest request) throws Exception {
         char[] readerBuffer = new char[request.getContentLength()];
         BufferedReader bufferedReader = request.getReader();
         logger.info("开始处理上传数据");
         int portion = bufferedReader.read(readerBuffer);
         int amount = portion;
         while (amount < readerBuffer.length) {
             portion = bufferedReader.read(readerBuffer, amount,
                     readerBuffer.length - amount);
             amount = amount + portion;
         }         StringBuffer stringBuffer = new StringBuffer(
                 (int) (readerBuffer.length * 1.5));
         for (int index = 0; index < readerBuffer.length; index++) {
             char c = readerBuffer[index];
             stringBuffer.append(c);
         }         String xml = stringBuffer.toString();
         logger.info(xml);
         return xml;     } 

解决方案 »

  1.   

    能简单说明一下怎么把STRUTS和WebService结合起来吗
      

  2.   

    http-xml并不总是webservice,webservice是http-xml的指定schema约束!
    如果只是普通的xml,通过dom4j等直接解析response.getInputStream()就可以了;
    如果是webservice可以通过axis,cxf之类的直接架设webservice服务,然后发布wsdl给C++程序员!
      

  3.   


    架设webservice服务的话,服务器如何接收XML形式(为配置文件)的文件呢
      

  4.   

    如果只是为了提交一个xml配置文件,那你直接通过servlet的response.getInputStream()流中读取实体,保存到文件就好了
      

  5.   

    哪需要什么web service啊。就是用普通的http请求,将xml字符串post过来,struts处理请求里的字符串就行了。将问题分成2个小点:
    (1)struts能接受到http请求里的字符串(不关心内容是什么,服务端能打印出来即可);
    (2)这个字符串是xml格式,需要解析。
      

  6.   

    我选择了 Servlet + socket + dom4j