Chinaunix

标题: webservice怎么实现身份认证 [打印本页]

作者: 玫瑰情书    时间: 2014-05-30 16:30
标题: webservice怎么实现身份认证
webservice 的url ,在浏览器上输入url,需要用户名,密码才能打开xml

用java做客户端,怎么才能实现身份认证呢?服务端是.net做的,用xfire,axis都解决不了该怎么做?

北风网解答:

可以直接用HttpURLConnection来做客户端。
  1. URL url = new URL("http://localhost/Incuity/ContentService.asmx");  
  2. HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
  3. conn.setRequestMethod("POST");  
  4. conn.setRequestProperty("content-type", "text/xml");\\根据具体情况定  
  5. conn.setDoOutput(true);  
  6. String passId = new String(Base64.encode("username:password".getBytes()));  
  7. conn.setRequestProperty("Authorization", "Basic "+passId);  
  8. conn.connect();  
  9. OutputStream os = conn.getOutputStream();  
复制代码
通过这个outputStream来发请求,像这样
  1. String s = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:bin=\"http://hello1/\">"  
  2.                 + " <soapenv:Body> <bin:sayHello><arg0>morgan</arg0><arg1>23</arg1></bin:sayHello> </soapenv:Body></soapenv:Envelope>";  
  3. os.write(s.getBytes());  
复制代码
转自:http://bbs.ibeifeng.com/read-htm-tid-65883.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2