.NET WEB SERVICE 学习记录

建立WEB SERVICE的server端
    用VS2003, “文件”-》“新建” -》“项目” -》“C#项目”-》“ASP.NET WEB 服务”
新建项目名称为MYWEBSERVICE1,代码如下,不要忘了引用“System.Data.OracleClient”

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;
using System.IO;
using System.Data.OracleClient;

namespace mywebservice
{
    [WebService(Namespace
="http://localhost/mywebservice/")]
    
/// <summary>
    
/// Service1 的摘要说明。
    
/// </summary>

    public class Service1 : System.Web.Services.WebService
    
{
        
public Service1()
        
{
            
//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
            InitializeComponent();
        }


        
组件设计器生成的代码

        
// WEB 服务示例
        
// HelloWorld() 示例服务返回字符串 Hello World
        
// 若要生成,请取消注释下列行,然后保存并生成项目
        
// 若要测试此 Web 服务,请按 F5 键
        [Serializable] 
            
public class Person 
        

            
public Person() 
            

            }
 

            
public Person(string name,string gender) 
            

                
this.Name=name; 
                
this.Gender=gender; 
            }
 

            
public string Name=""
            
public string Gender=""
        }
 
        [WebMethod(CacheDuration
=60)] 
        
public Person[] GetPersons() 
        

            Person Alice
=new Person("Alice","Female"); 
            Person Bob
=new Person("Bob","Male"); 
            Person Chris
=new Person("Chris","Female"); 
            Person Dennis
=new Person("Dennis","Male"); 

            
return new Person[]{Alice,Bob,Chris,Dennis}
        }
 


        [WebMethod] 
        
public string GetPersonTable() 
        

            OracleConnection Ocon 
= 


编译后出来的WEB SERVICE的服务是http://localhost/mywebservice

                   WSDL文件位置为:http://localhost/mywebservice/Service1.asmx?WSDL
内容如下:

  <?xml version="1.0" encoding="utf-8" ?> 
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://localhost/mywebservice/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://localhost/mywebservice/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://localhost/mywebservice/">
<s:element name="GetPersons">
  
<s:complexType /> 
  
</s:element>
<s:element name="GetPersonsResponse">
<s:complexType>
<s:sequence>
  
<s:element minOccurs="0" maxOccurs="1" name="GetPersonsResult" type="tns:ArrayOfPerson" /> 
  
</s:sequence>
  
</s:complexType>
  
</s:element>
<s:complexType name="ArrayOfPerson">
<s:sequence>
  
<s:element minOccurs="0" maxOccurs="unbounded" name="Person" nillable="true" type="tns:Person" /> 
  
</s:sequence>
  
</s:complexType>
<s:complexType name="Person">
<s:sequence>
  
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" /> 
  
<s:element minOccurs="0" maxOccurs="1" name="Gender" type="s:string" /> 
  
</s:sequence>
  
</s:complexType>
<s:element name="GetPersonTable">
  
<s:complexType /> 
  
</s:element>
<s:element name="GetPersonTableResponse">
<s:complexType>
<s:sequence>
  
<s:element minOccurs="0" maxOccurs="1" name="GetPersonTableResult" type="s:string" /> 
  
</s:sequence>
  
</s:complexType>
  
</s:element>
  
</s:schema>
  
</wsdl:types>
<wsdl:message name="GetPersonsSoapIn">
  
<wsdl:part name="parameters" element="tns:GetPersons" /> 
  
</wsdl:message>
<wsdl:message name="GetPersonsSoapOut">
  
<wsdl:part name="parameters" element="tns:GetPersonsResponse" /> 
  
</wsdl:message>
<wsdl:message name="GetPersonTableSoapIn">
  
<wsdl:part name="parameters" element="tns:GetPersonTable" /> 
  
</wsdl:message>
<wsdl:message name="GetPersonTableSoapOut">
  
<wsdl:part name="parameters" element="tns:GetPersonTableResponse" /> 
  
</wsdl:message>
<wsdl:portType name="Service1Soap">
<wsdl:operation name="GetPersons">
  
<wsdl:input message="tns:GetPersonsSoapIn" /> 
  
<wsdl:output message="tns:GetPersonsSoapOut" /> 
  
</wsdl:operation>
<wsdl:operation name="GetPersonTable">
  
<wsdl:input message="tns:GetPersonTableSoapIn" /> 
  
<wsdl:output message="tns:GetPersonTableSoapOut" /> 
  
</wsdl:operation>
  
</wsdl:portType>
<wsdl:binding name="Service1Soap" type="tns:Service1Soap">
  
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> 
<wsdl:operation name="GetPersons">
  
<soap:operation soapAction="http://localhost/mywebservice/GetPersons" style="document" /> 
<wsdl:input>
  
<soap:body use="literal" /> 
  
</wsdl:input>
<wsdl:output>
  
<soap:body use="literal" /> 
  
</wsdl:output>
  
</wsdl:operation>
<wsdl:operation name="GetPersonTable">
  
<soap:operation soapAction="http://localhost/mywebservice/GetPersonTable" style="document" /> 
<wsdl:input>
  
<soap:body use="literal" /> 
  
</wsdl:input>
<wsdl:output>
  
<soap:body use="literal" /> 
  
</wsdl:output>
  
</wsdl:operation>
  
</wsdl:binding>
<wsdl:service name="Service1">
  
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/" /> 
<wsdl:port name="Service1Soap" binding="tns:Service1Soap">
  
<soap:address location="http://localhost/mywebservice/Service1.asmx" /> 
  
</wsdl:port>
  
</wsdl:service>
  
</wsdl:definitions>
posted @ 2005-04-08 11:52  Enli  阅读(1006)  评论(0编辑  收藏  举报