JavaScript Calling WebService by SOAP

Steps:

1. 对于不同浏览器,取得相应XMLHTTP

2. 拼接SOAP message;

3. POST方法;

4. Send;

PS: WebService 是Java Axis2搭建的。

  1. <script type="text/javascript">
  2. function getXmlHttp() {
  3. var xmlHttp;
  4. if (window.XMLHttpRequest)
  5. { // code for IE7+, Firefox, Chrome, Opera, Safari
  6. xmlHttp = new XMLHttpRequest();
  7. }
  8. else
  9. { // code for IE6, IE5
  10. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  11. }
  12. return xmlHttp;
  13. }
  14. function RequestWebService() {
  15. //Webservice location
  16. var URL = "http://10.253.148.124:8080/OncallWebServer/services/OncallWebServer?wsdl";
  17. //Generate SOAP request
  18. var ptype = document.getElementById(‘ptype‘).value;
  19. var year = document.getElementById(‘year‘).value;
  20. var month = document.getElementById(‘month‘).value;
  21. var pday = document.getElementById(‘pday‘).value;
  22. var pchg = document.getElementById(‘pchg‘).value;
  23. var data;
  24. data = ‘<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:axis="http://ws.apache.org/axis2">‘;
  25. data = data + ‘<soap:Header/>‘;
  26. data = data + ‘<soap:Body>‘;
  27. data = data + ‘<axis:MessagePush>‘;
  28. data = data + ‘<axis:type>‘;
  29. data = data + ptype;
  30. data = data + ‘</axis:type>‘;
  31. data = data + ‘<axis:year>‘;
  32. data = data + year;
  33. data = data + ‘</axis:year>‘;
  34. data = data + ‘<axis:month>‘;
  35. data = data + month;
  36. data = data + ‘</axis:month>‘;
  37. data = data + ‘<axis:day>‘;
  38. data = data + pday;
  39. data = data + ‘</axis:day>‘;
  40. data = data + ‘<axis:change>‘;
  41. data = data + pchg;
  42. data = data + ‘</axis:change>‘;
  43. data = data + ‘</axis:MessagePush>‘;
  44. data = data + ‘</soap:Body>‘;
  45. data = data + ‘</soap:Envelope>‘;
  46. var xmlHttp = getXmlHttp();
  47. xmlHttp.open(‘POST‘, URL, true);
  48. //xmlHttp.onreadystatechange=state_Change;
  49. xmlHttp.onreadystatechange = function () {
  50. if (xmlHttp.readyState == 4) {
  51. try {
  52. if (xmlHttp.status == 200 && typeof (success) == ‘function‘) {
  53. success(xmlHttp.responseText);
  54. }
  55. else if ((xmlHttp.status / 100 == 4 || xmlHttp.status / 100 == 5) && typeof (error) == ‘function‘) {
  56. error(xmlHttp.responseText, xmlHttp.status);
  57. }
  58. else if (xmlHttp.status / 100 == 200 && typeof (complete) == ‘function‘) {
  59. complete(xmlHttp.responseText, xmlHttp.status);
  60. }
  61. else if (typeof (failed) == ‘function‘) {
  62. failed(xmlHttp.responseText, xmlHttp.status);
  63. }
  64. }
  65. catch (e) {
  66. }
  67. }
  68. }
  69. xmlHttp.setRequestHeader("Content-Type", "application/soap+xml");
  70. xmlHttp.send(data);
  71. //Display reply message - file location (for testing)
  72. document.getElementById("data").innerHTML = xmlHttp.responseText;
  73. }
  74. </script>

来自为知笔记(Wiz)

时间: 2024-11-09 05:05:12

JavaScript Calling WebService by SOAP的相关文章

webservice通过soap协议出现不能加载wsdl文件解决办法

PHP在用SOAP协议做接口的时候,经常会碰到如下问题,不是不成功,而是偶尔不成功,实在让人费解! ERR: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.xxxxx.com/member/member_sync.php?wsdl' : failed to load external entity "http://www.xxxxx.com/member/member_sync.php?wsdl" 查找日志发现: NO

webservice、soap、wsdl

搜集了一些关于webservice.soap.wsdl的基本知识,解决工作中遇到的疑问 一 .什么是webservice(用你的话描述webservice)?在什么时候用webservice(webservice能给我们解决什么样的问题)? 一句话概括:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用Java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运

WebService它Soap头验证进入

1.创建一个新的类.如"AuthHeaderUser",在传承"System.Web.Services.Protocols.SoapHeader"类别 2.新WebService,有一个AuthHeaderUser物业类型 3.新WebService一Web方法,指定Soap头信息,如:[SoapHeader("AuthenticationUser")][WebMethod(Description="返回股票行情信息")]pu

REST WebService与SOAP WebService的比较

在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想 法就是SOAP消息在各种传输协议上交互.近几年REST的思想伴随着SOA逐渐被大家接受,同时 各大网站不断开放API提供给开发者,也激起了REST风格WebService的热潮. SOAP 什么是SOAP,我想不用多说,google一把满眼都是.其实SOAP最早是针对RPC的一种解决方 案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息 (Http,SMTP等).

SOA,Webservice,SOAP,REST,RPC,RMI,JMS的区别与联系(转载)

原文地址:http://blog.csdn.net/pcceo1/article/details/51245249 SOA面向服务的软件架构(Service Oriented Architecture) 是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作 它的基本设计原理是:服务提供了一个简单的接口,抽象了底层的复杂性,然后用户可以访问独立的服务,而不需要去了解服务底层平台实现. 正因为SOA架构实现不依赖于技术,因此能够被各种不同的技术实现. 例如: SOAP, RPC

Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务. 这里我们从一个程序员的视角来观察web service.在传统的程序编码中,存在这各种的函数方法调用.通常,我们知道一个程序模块M中的方法A,向其发出调用请求,并传入A方法需要的参数P,方法A执行完毕后,返回处理结果R.这种函数或方法调用通常发

翻译-使用Spring WebService生成SOAP Web Service

原文链接:http://spring.io/guides/gs/producing-web-service/ 生成SOAP web service 该指南将带领你使用Spring创建一个基于SOAP的web service的整个过程. 指南内容 你将创建一个服务,该服务通过一个基于WSDL的SOAP web service向外暴露欧洲国家的数据. 注意:为了简化该示例,你将使用硬编码方式嵌入英国,西班牙及波兰. 准备事项 15分钟 喜爱的编辑器或IDE JDK1.6或更高版本 Gradle 1.

使用HttpClient工具类测试WebService接口(Soap)与Http接口,这里测试WebService接口,测试http接口实现方式类似

import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import java.util.Map;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpP

关于JavaScript 访问基于SOAP的WebService跨域问题

关于JavaScript 访问基于SOAP的WebService跨域问题 最近,搭建好了一个基于SOAP的WebService服务器.结果,使用JavaScript访问WebService遇到了跨域的问题! 首先,声明代码中的WebService不是本人搭建,由于本人的服务器地址不方便公开. 这个是测试HTML <html> <meta charset="utf-8" /> <head> <title>通过ajax调用WebService