Thomson-Blog ( 学习,学习,再学习;努力,努力,再努力。)
在学习的路上不断成长,成功之路就在脚下。
 
 把自己对WebService的了解拿出来跟大家分享一下,本文介绍了几种调用WebService的方法,希望能对你有帮助。

  在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引用,会自动为你创建一个代理类。然后使用代理类就像用自己定义的类一样方便。

posted on 2008-07-17 14:24  Thomson-Blog  阅读(188)  评论(0编辑  收藏  举报