建立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();
}


组件设计器生成的代码#region 组件设计器生成的代码
//Web 服务设计器所必需的
private IContainer components = null;

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()

{
}


/**//// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )

{
if(disposing && components != null)

{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion

// 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
>