使用URLConnection调用webservice

使用URLConnection调用webservice与使用ajax调用webservice的主要的差别就在于前者是使用java语言来构造http请求,

而后者则是使用js语言来构造http请求。这两种方式所实现的功能其实是一样的,只是实现的形式不同而已

 

  1. import java.io.InputStream; 
  2. import java.io.OutputStream;
  3. import java.net.HttpURLConnection; 
  4. import java.net.URL; 
  5.  
  6. public class App { 
  7.  
  8.     public staticvoid main(String[] args) throws Exception { 
  9.         URL wsUrl = new URL("http://127.0.0.1:6790/hello"); 
  10.          
  11.         HttpURLConnection conn =  (HttpURLConnection) wsUrl.openConnection(); 
  12.          
  13.         conn.setDoInput(true);//有输入 
  14.         conn.setDoOutput(true);//有输出 
  15.         conn.setRequestMethod("POST"); 
  16.         conn.setRequestProperty("Content-Type","text/xml;charset=utf-8"); 
  17.          
  18.          
  19.         //要想在双引号中再使用双引号,则可以使用转义符\将双引号转义 
  20.         String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://webservice.njupt.com/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
  21.         "<soapenv:Body><q0:sayHello><arg0>焦雅琴 我爱你哦 </arg0> </q0:sayHello></soapenv:Body></soapenv:Envelope>"
  22.          
  23.         OutputStream os = conn.getOutputStream(); 
  24.         os.write(soap.getBytes()); 
  25.          
  26.         InputStream is = conn.getInputStream(); 
  27.          
  28.         byte[] b = newbyte[1024]; 
  29.         int len = 0
  30.         String s = ""
  31.          
  32.         while( (len = is.read(b)) != -1){ 
  33.             s += new String(b,0,len,"UTF-8"); 
  34.         } 
  35.          
  36.         System.out.println(s); 
  37.          
  38.         os.close(); 
  39.         is.close(); 
  40.         conn.disconnect(); 
  41.          
  42.          
  43.          
  44.     } 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值