次の方法で共有


Web サービス アプリケーション (C# と Java の比較)

更新 : 2007 年 11 月

.NET Framework では、Web サービス間での相互運用性が幅広くサポートされています。C# では、.NET Framework、Visual Studio、および ASP.NET を使用することで、Web サービス プロジェクトを作成し、公開するパブリック メソッドに WebMethod 属性を追加するだけで簡単に Web サービスを作成できます。

Java

Java では、Web サービス パッケージを使用して、Java Web Services Developer Pack や Apache SOAP などのアプリケーションを実装できます。たとえば、Java では、次の手順に従って Web サービスと Apache SOAP を作成できます。

Apache SOAP を使用して、Java で 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 サービスをより簡単に作成できます。

.NET Framework と Visual Studio を使用して、C# で Web サービスを作成するには

  1. Visual Studio で Web サービス アプリケーションを作成します。詳細については、「Java 開発者のための C# アプリケーションの種類の説明」を参照してください。生成されるコードは次のとおりです。

    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. [Invoke] をクリックして、Service1 の HelloWorld メソッドを呼び出します。出力は次のとおりです。

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

Web サービスの詳細については、次のトピックを参照してください。

参照

概念

C# プログラミング ガイド

その他の技術情報

Java 経験者が C# で開発する場合