利用するNet Webサービスプロバイダの構築


本例では、利用する.NETはウェブサービスサーバ側を構築する.
実装機能:
1、簡単な加算演算で、クライアントの送信要求には2つの加算数が含まれており、サーバが計算した後に和を返す.
2、soap headerでクライアントの正当性を検証できる
3、合法的なデータとfaultを返すことができる
手順:
1、c#webプロジェクトを新規作成し、aspを選択する.Netwebサービスアプリケーション
2、次のコードを入力します.

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

namespace WebService1
{
    /// <summary>
    /// Service1      
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    //        ASP.NET AJAX         Web   ,         。
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
        public MyHeader h;

        [WebMethod]
        [SoapHeader("h",Direction=SoapHeaderDirection.In)]
        //SoapHeaderDirection.In:        header ,            
        //SoapHeaderDirection.Out:        header ,            
        //SoapHeaderDirection.InOut:               header 

        public int Add(int a,int b)
        {       
            //         
            if(h.Username !="u" || h.Password != "p")
            {
                throw new SoapException("username or password error",SoapException.ServerFaultCode);   
            }
            //      
            return a+b;
        }
    }
    //   
    public class MyHeader : SoapHeader
    {
        public string Username;
        public string Password;
    }

}


プログラムを実行し、VS一時的なWEBサーバを構築し、ブラウザを開き、webserviceの紹介を表示します.
このような文字列があります.
以下の操作をサポートします.正式な定義については、
サービスの説明.
Add
点字列の「サービス説明」のリンクをクリックして、XMLドキュメントを開きます.これが伝説のWSDLファイルです.このWSDLファイルを利用すれば、クライアントプログラムを作成することができます.これは後で話す機会がある.