XMLClient.java 2.38 KB
package com.phxl.common.util;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class XMLClient {
    private static  HttpClient client;

    public static void main(String[] args) throws Exception {
        XMLClient client = new XMLClient();
        String url = "http://localhost:8080/upload/bookInfo/sendxml5";
        //发送XML数据到服务
        String result = client.sendXMLDataByPost(url, client.getXMLString(),"text/xml");
        System.out.println(result);
    }

    // 获取XML
    public String getXMLString() {
        String XML_HEADER = "<?xml version=\"1.0\" encoding=\"GBK\"?>";
        StringBuffer sb = new StringBuffer();
        sb.append(XML_HEADER);
        sb.append("<a>");
        sb.append("<b>");
        sb.append("<c>");
        sb.append("DWMC");
        sb.append("</c>");
        sb.append("<d>");
        sb.append("id=10");
        sb.append("</d>");
        sb.append("</SELECT>");
        sb.append("</b>");
        sb.append("</a>");

        String mytext = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><book><id>1</id><name>王森勇</name><author>tiger</author></book>";
        // 返回String格式
        return mytext.toString();
    }

    // 使用POST方法发送XML数据LL
    public static String sendXMLDataByPost(String url, String xmlData, String contentType) throws Exception {
        if (client == null){
            client = HttpClients.createDefault();
        }
        HttpPost post = new HttpPost(url);
        //post.setHeader("Content-Type","text/xml;charset=UTF-8");

        post.setHeader("Content-Type", ""+contentType+";charset=utf-8");
       // List<BasicNameValuePair> parameters = new ArrayL  ist<BasicNameValuePair>();
        //.add(new BasicNameValuePair("text/xml", xmlData));
      //  post.setEntity(new UrlEncodedFormEntity(parameters,"UTF-8"));

        StringEntity entity1 = new StringEntity(xmlData,"UTF-8");
        post.setEntity(entity1);


        HttpResponse response = client.execute(post);
        System.out.println(response.toString());
        HttpEntity entity = response.getEntity();
        String result = EntityUtils.toString(entity, "UTF-8");
        return result;
    }

}