WebService学习(十三)——调用webservice的方式(其他方式)
2019-01-25 17:58
211 查看
1.使用ajax调用
- var xhr;
- function invoke(){
- if(window.ActiveXObject){
- xhr = new ActiveXObject("Microsoft.XMLHTTP");
- }else{
- xhr = new XMLHttpRequest();
- }
- //指定请求地址
- var url = "http://127.0.0.1:7777/hello?wsdl";
- //定义请求类型和地址和异步
- xhr.open("POST", url, true);
- //设置Content-Type
- xhr.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
- //指定回调方法
- xhr.onreadystatechange = back;
- var textVal = document.getElementById("mytext").value;
- //组装消息体的数据
- var data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://server.hm.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'
- +'<soapenv:Body>'
- +'<q0:sayHello>'
- +'<arg0>'+textVal+'</arg0>'
- +'</q0:sayHello>'
- +'</soapenv:Body>'
- +'</soapenv:Envelope>';
- xhr.send(data);
- }
- function back(){
- if(xhr.readyState == 4){
- if(xhr.status == 200){
- var doc = xhr.responseXML;
- alert(doc);
- alert(xhr.responseText);
- var tag = doc.getElementsByTagName("return")[0];
- alert(tag)
- }
- }
- }
- //创建url地址
- URL url = new URL("http://192.168.1.104:8080/hello");
- //打开连接
- URLConnection conn = url.openConnection();
- //转换成HttpURL
- HttpURLConnection httpConn = (HttpURLConnection) conn;
- //打开输入输出的开关
- httpConn.setDoInput(true);
- httpConn.setDoOutput(true);
- //设置请求方式
- httpConn.setRequestMethod("POST");
- //设置请求的头信息
- httpConn.setRequestProperty("Content-type", "text/xml;charset=UTF-8");
- //拼接请求消息
- String data = "<soapenv:Envelope xmlns:soapenv=" +
- "\"http://schemas.xmlsoap.org/soap/envelope/\" " +
- "xmlns:q0=\"http://server.rl.com/\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
- +"<soapenv:Body>"
- +"<q0:sayHello>"
- +"<arg0>renliang</arg0> "
- +"</q0:sayHello>"
- +"</soapenv:Body>"
- +"</soapenv:Envelope>";
- //获得输出流
- OutputStream out = httpConn.getOutputStream();
- //发送数据
- out.write(data.getBytes());
- //判断请求成功
- if(httpConn.getResponseCode() == 200){
- //获得输入流
- InputStream in = httpConn.getInputStream();
- //使用输入流的缓冲区
- BufferedReader reader = new BufferedReader(new InputStreamReader(in));
- StringBuffer sb = new StringBuffer();
- String line = null;
- //读取输入流
- while((line = reader.readLine()) != null){
- sb.append(line);
- }
- //创建sax的读取器
- SAXReader saxReader = new SAXReader();
- //创建文档对象
- Document doc = saxReader.read(new StringReader(sb.toString()));
- //获得请求响应return元素
- List<Element> eles = doc.selectNodes("//return");
- for(Element ele : eles){
- System.out.println(ele.getText());
- }
- }
- $(function(){
- $("#mybutton").click(function(){
- var data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://server.web.cxf.rl.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'
- +'<soapenv:Body>'
- +'<q0:sayHello>'
- +' <arg0>sss</arg0>'
- +' </q0:sayHello>'
- +'</soapenv:Body>'
- +'</soapenv:Envelope>';
- $.ajax({
- url:'http://localhost:8080/cxf-web-server/services/hello',
- type:'post',
- dataType:'xml',
- contentType:'text/xml;charset=UTF-8',
- data:data,
- success:function(responseText){
- alert($(responseText).find('return').text());
- },
- error:function(){
- alert("error");
- }
- })
- })
- })
相关文章推荐
- WebService学习整理(一)——客户端三种调用方式整理
- 20110105 学习记录:ASP调用WebService的两种方式 & WebService之SOAP
- 关于java调用webservice的方式学习
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
- WebService学习整理(一)——客户端三种调用方式
- Apache Axis客户端调用WEBSERVICE三种方式
- java 实现WebService 以及不同的调用方式
- 使用C#创建webservice及调用方式
- 如何在其他项目调用webservice 发布的soap风格的接口
- webservice(四) 发布webservice服务和客户端调用的方式汇总
- webservice调用的四种方式
- 使用C#创建webservice及三种调用方式
- uniGUI试用笔记(十三)调用WebService
- Java 以post请求方式通过json格式调用Webservice接口
- WebService学习总结(四)——调用第三方提供的webService服务
- 使用C#创建webservice及三种调用方式
- Android个人学习笔记-使用myeclipse快速创建webservice并在Android中调用
- [置顶] WebService学习总结(4)——第三方webService服务调用
- php利用soap实现webservice 和利用soap调用其他语言的webservice
- JavaScript Soap 方式调用WebService