java ssm框架 soap请求

2 篇文章 0 订阅

java ssm框架 soap请求

SOAP 使用 http 传送 xml,在web客户端与服务端传递数据,写法较为简单。个人感觉远程请求用soap比较好用,虽然速度上慢了一些(解析xml耗费时间)

请求体:

      StringBuilder sb=new StringBuilder();
      sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
      	"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"+
	    "<soap:Body>"+
	    "<Sales xmlns=\"http://order.org/\">"+
	      "<pa>pa</pa>"+                                      //参数pa
	      "<custPo>custPo</custPo>"+                          //参数custPo
	     "</Sales>"+
	  "</soap:Body>"+
	"</soap:Envelope>");

发送请求

      String requestBody = sb.toString();
      //请求url
      String urlString =  http://****?op=Sales;
      //soap action(打开请求url可以看到,不可少)
      String soapActionString = "http://****/Sales";
      URL url = new URL(urlString);
      HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
      //设置和发送请求
      httpConn.setRequestProperty("Content-Length",  String.valueOf(sb.toString().length()));
      httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
      httpConn.setRequestProperty("SOAPAction", soapActionString);
      httpConn.setRequestMethod("POST");
      httpConn.setDoOutput(true);
      httpConn.setDoInput(true);
      OutputStream out = httpConn.getOutputStream();
      byte b[] = sb.toString().getBytes();
      out.write(b);
      out.close();
      byte[] datas=readInputStream(httpConn.getInputStream());
      //断开连接
      httpConn.disconnect();
      String result=new String(datas);

result即为请求结果。
两段代码写到一块即可。

代码亲测可用,第一次写博客,哪里不对还请大神指正出来。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值