Web 服务应用程序(C# 与 Java)

更新:2007 年 11 月

.NET Framework 为通过 Web 服务进行互操作提供了广泛的支持。在 C# 中使用 .NET Framework、Visual Studio 和 ASP.NET 创建一个 Web 服务就像创建一个 Web 服务项目并将属性 WebMethod 添加到您要公开的任何公用方法一样简单。

Java

在 Java 中您可以使用 Web 服务包来实现应用程序,如 Java Web Services Developer Pack 或 Apache SOAP。例如,在 Java 中可以使用下面的步骤创建一个 Web 服务和 Apache SOAP。

在 Java 中使用 Apache SOAP 创建 Web 服务

  1. 如下所示编写一个 Web 服务方法:

    public class HelloWorld 
    {
    
        public String sayHelloWorld()
        {
            return "HelloWorld ";
        }
    }
    
  2. 创建 Apache SOAP 部署说明符。该说明符可能如下所示:

    <dd:service xmlns:dd="http://xml.apache.org/xml-soap/deployment"
               id="urn:HelloWorld">
    
       <dd:provider type="java"
                   scope="Application"
                   methods="sayHelloWorld">
    
        <dd:java class="HelloWorld" static="false" />
    
      </dd:provider>
    
    <dd:faultListener>org.apache.soap.server.DOMFaultListener</dd:faultListener>
    
      <dd:mappings />
    
    </dd:service>
    
  3. 编译 HelloWorld 类并将它移到 Web 服务器的类路径。

  4. 使用命令行工具部署 Web 服务。

C#

在 C# 中使用 .NET Framework 类和 Visual Studio IDE 创建 Web 服务更为简单。

在 C# 中使用 .NET Framework 和 Visual Studio 创建 Web 服务

  1. 在 Visual Studio 中创建 Web 服务应用程序。有关更多信息,请参见 C# 应用程序类型(针对 Java 开发人员)。下面是生成的代码。

    using System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        public Service () {
    
        }
    
        [WebMethod]
        public string HelloWorld() {
            return "Hello World";
        }
    
    }
    
  2. 查找 [WebService(Namespace = "http://tempuri.org/")] 行,将 "http://tempuri.org/" 更改为 "http://tempuri.org/"。

运行 C# Web 服务

  1. 编译和运行服务。在 Web 浏览器中键入“https://localhost/WebSite1/Service.asmx”,其中 localhost 是 IIS Web 服务器的名称,而 Service 是服务的名称(在本例中为 Service)。

  2. 输出为:

    The following operations are supported. For a formal definition, please review the Service Description.
    HelloWorld
    
  3. 单击 HelloWorld 链接以调用 Service1 的 HelloWorld 方法。输出为:

    Click here for a complete list of operations.
    HelloWorld
    Test
    To test the operation using the HTTP POST protocol, click the 'Invoke' button. 
    
    SOAP 1.1
    ...
    SOAP 1.2
    ...
    HTTP POST
    ...
    
  4. 单击“调用”按钮以调用 Service1 的 HelloWorld 方法。输出为:

    <?xml version="1.0" encoding="utf-8" ?> 
      <string xmlns="http://HowToDevelopWebServicesTest/">Hello World</string>
    

有关 Web 服务的更多信息,请参见:

请参见

概念

C# 编程指南

其他资源

C#(针对 Java 开发人员)