首页 > 基础设施 > 正文

几种调用WebService的方法

2008-04-25 14:40:04  来源:RDXX

摘要:把自己对WebService的了解拿出来跟大家分享一下,本文介绍了几种调用WebService的方法,希望能对你有帮助
关键词: web

    1. 在JavaScript中调用WebService

  <script language="javascript">
  function PostRequestData(URL,data){
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.Open("POST",URL, false);
  xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8");
  xmlhttp.SetRequestHeader ("SOAPAction","http://tempuri.org/myService/test/isNumner");
  try {
  xmlhttp.Send(data);
  var result = xmlhttp.status;
  }
  catch(ex) {
  return("0" + ex.description + "|" + ex.number);
  }
  if(result==200) {
  return("1" + xmlhttp.responseText);
  }
  xmlhttp = null;
  }
  function loadit(value){
  var url = 'http://localhost/myService/test.asmx';
  var data ;
  var r;
  data = '<?xml version="1.0" encoding="utf-8"?>';
  data = data + '<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/">';
  data = data + '<soap:Body>';
  data = data + '<isNumner xmlns="http://tempuri.org/myService/test">';
  data = data + '<str>'+value+'</str>';
  data = data + '</isNumner>';
  data = data + '</soap:Body>';
  data = data + '</soap:Envelope>';
  r=PostRequestData(url,data);
  document.write(r);
  }
  loadit('5');
  </script>

    2. 在Asp中

  < %@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
  <%
  Dim strxml
  Dim str
  '定义soap消息
  strxml = "<?xml version='1.0' encoding='tf-8'?>"
  strxml = strxml & "<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/'>"
  strxml = strxml & "<soap:Body> "
  strxml = strxml & "<isNumner xmlns='http://tempuri.org/myService/test'>"
  strxml = strxml & "<str>4< /str>"
  strxml = strxml & "</isNumner>"
  strxml = strxml & "</soap:Body>"
  strxml = strxml & "</soap:Envelope>"
  '定义一个XML的文档对象,将手写的或者接受的XML内容转换成XML对象
  'set x = createobject("Microsoft.DOMDocument")
  '初始化XML对象
  '将手写的SOAP字符串转换为XML对象
  ' x.loadXML strxml
  '初始化http对象
  Set h = createobject( "Microsoft.XMLHTTP")
  '向指定的URL发送Post消息
  h.open "POST", "http://localhost/myService/test.asmx", False
  h.setRequestHeader "Content-Type", "text/xml"
  h.setRequestHeader "SOAPAction", "http://tempuri.org/myService/test/isNumner"
  h.send (strxml)
  While h.readyState < > 4
  Wend
  '显示返回的XML信息
  str = h.responseText
  '将返回的XML信息解析并且显示返回值
  'Set x = createobject("MSXML2.DOMDocument")
  ' x.loadXML str
  'str = x.childNodes(1).Text
  response.write(str)
  %>

    3.在.net中

    在.net中调用WebService就方便多了,没有必要自己写soap消息了,以上都是用XMLHTTP来发送WebService请求的,在.net只要添加了web引用,会自动为你创建一个代理类。然后使用代理类就像用自己定义的类一样方便。
 


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。