Internet 正在向下一代 Web 站点快速演进,今天的 Web 站点仅能为浏览器提供用户界面,而下一代可编程 Web 站点
直接将企业、应用程序、服务和设备彼此链接。这些可编程 Web 站点将不只是被动访问的站点,而将成为可重用的智能
XML Web services。(本文参考Asp.net快速入门教程)
今天是我第一次学习使用.Net编写WebService程序。当然得从最简单的Hello World开始了。
1.创建一个文本文件HelloWorld.asmx(.ASP.NET 使用 .asmx 文件提供 XML Web services 支持。)
<%@ WebService Language="C#" Class="HelloWorld" %> using System; using System.Web.Services; public class HelloWorld : WebService { [WebMethod] public String SayHelloWorld() { return "Hello World"; } }
2.将HelloWorld.asmx放在IIS工作目录下,现在我们可以通过http://localhost/helloworld.asmx访问它了.
这时候我们可以注意到提示:
此 Web 服务使用 http://tempuri.org/ 作为它的默认命名空间。
建议:在使 XML Web service 公开之前,请更改默认命名空间。
所以我们在HelloWorld.asmx中加入[WebService(Namespace="http://xcolor.cn/webservices/")]
再次访问http://localhost/helloworld.asmx,建议没有了,一切正常。
3.为了在Visual C#中使用这个WebService服务,我们需要使用有一个 Web 服务描述语言工具 (WSDL.exe)。
此命令行工具用于从 WSDL 创建 代理类。我们输入: wsdl http://localhost/helloworld.asmx?wsdl 以生成
HelloWorld.cs文件,该文件包含了对该服务的调用。
4.为了试验如何在Visual C#中调用HelloWorld服务,我们新建一个空白的C#应用程序。
在解决方案资源管理器中添加HelloWorld.cs文件。然后编写如下代码调用:
HelloWorld myHelloWorld = new HelloWorld();
this.Text = myHelloWorld.SayHelloWorld();
编译,我们等待着HelloWorld的出现,可是遗憾的是。编译器告诉我们System.web.Service未引用。于是我们加入对
System.web.service.dll的引用,果然我们期待的HelloWorld出现了。
在Visual C#中的调用是成功了,我们还想试试,在其他开发环境下,效果怎么样了。下面我使用Delphi来调用
刚才的WebService服务。
1.新建一个空白的窗体工程
2.New ->Other->WebServices->WSDL Importer,
在Wsdl Source 中输入 “http://localhost/helloworld.asmx?wsdl”
生成HelloWorld.pas,其中包含一个HelloWorldSoap接口和GetHelloWorldSoap函数
3.使用如下代码调用
procedure TForm1.Button1Click(Sender: TObject);
var hello:HelloWorldSoap ;
begin
hello:=GetHelloWorldSoap;
Caption:=hello.SayHelloWorld ;
end;
成功了,一切都是如此的简单和方便,我们真该为这个伟大的技术欢呼!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。