http post方式发送xml格式消息

本文介绍了一个使用Java实现的将XML报文发送到指定URL并接收响应的过程,包括构建XML报文、发送POST请求及解析返回的XML响应。

//返回xml报文

public static String getXml(String userName)
{
  StringBuffer sb = new StringBuffer();
  sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
  sb.append("<root>");
  sb.append("<stkey>Register</stkey>");
  sb.append("<user_id >23l3</user_id>");
  sb.append("<login_username>");
  sb.append(userName);
  sb.append("</login_username>");
  sb.append("<client_id>4000df1</client_id>");
  sb.append("</root>");
  System.out.println("1=====:"+sb.toString());
  return sb.toString();
}

public static String sendPost(String postXml)
{
  String msg = null ;
  try
  {
   String httpUrl = "http://localhost:8080/MyTest/index.php";
   PostMethod postMethod = new PostMethod(httpUrl);

   postMethod.setRequestEntity(new StringRequestEntity(postXml, "text/html", "utf-8"));
   postMethod.setRequestHeader("Content-type", "text/xml; charset=GBK");

   HttpClient httpClient = new HttpClient();
   httpClient.executeMethod(postMethod);
   int resultint = httpClient.executeMethod(postMethod);
//   log.info("resultint====="+resultint);
//   System.out.println("resultint======="+resultint);

//msg 即为请求返回的消息,这里我们假设请求返回的消息是xml格式,

//那么,msg就是一个xml格式的字符串咯。对于xml格式字符串的解析方法看上一篇日志。
   msg = new String(postMethod.getResponseBody());
//   log.info("msg=========="+msg);
//   System.out.println("mig===="+msg);
   postMethod.releaseConnection();
  
  }catch(Exception ex)
  {
   log.info("Post发生异常了"+ex.getMessage());
   System.out.print("exception message:"+ex.getMessage());
   ex.printStackTrace();
   msg = "exception ex" ;
  }
  return msg;
}

public static void main(String args[])throws Exception
{

  String xml = getXml("oosmile");
  String str = sendPost(xml);

//str即为返回的xml格式的消息

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值