服务器端代码
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml.Serialization;
using System.Web.Services.Protocols;
using System.IO;
using System.Xml; namespace WebService1
{
/// <summary>
/// Service1 的摘要说明
/// </summary> [WebService(
Namespace = "http://asn.test.cn/",
Description="this is a test service!")]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{ [WebMethod]
[SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Wrapped)]
public void PurchaseOrder(
[XmlAttribute] String ID,
DateTime Date,
int Amount,
out String ReceiptID)
{
ReceiptID = "";
return;
} [WebMethod]
[return: XmlElement("PurchaseOrderRecipt")]
[SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Bare, OneWay = true)]
public void PurchaseOrderStyleBare(PO pOrder)
{
FileStream fileStream = new FileStream("c:/aa.txt",FileMode.Append ,FileAccess.Write);
StreamWriter writer = new StreamWriter(fileStream);
writer.WriteLine(pOrder.ID);
writer.WriteLine(pOrder.Date.ToString());
writer.Close();
return ;
} [WebMethod]
[SoapDocumentMethod(ParameterStyle = SoapParameterStyle.Wrapped)]
public double Divide(double x, double y)
{
if (y == )
{
XmlDocument doc = new XmlDocument();
doc.LoadXml("<BadStuff>you shouldn't try to divide by zero. </BadStuff>");
XmlQualifiedName code = new XmlQualifiedName("Sample", "http://sample");
SoapException ex = new SoapException("Can not divide by zero", code, "TheActor", doc); throw ex;
}
return x / y;
}
}
}


客户端调用代码
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceClient.ServiceTest;
using System.Web.Services;
using System.Xml.Serialization;
using System.Web.Services.Protocols; namespace ServiceClient
{
class Program
{
static void Main(string[] args)
{ Service1SoapClient server = new Service1SoapClient();
double resl = server.Divide(, );
Console.WriteLine(resl); ServiceTestClient client = new ServiceTestClient();
double resl1 = client.Divide(, );
Console.WriteLine(resl1);
}
} [WebServiceBinding("Service1Soap", "http://asn.test.cn/")]
public class ServiceTestClient : SoapHttpClientProtocol
{
public ServiceTestClient()
{
this.Url = "http://localhost:49559/Service1.asmx";
} [SoapDocumentMethod("http://asn.test.cn/Divide"]
public double Divide(double x, double y)
{
Object[] args = { x, y};
Object[] responseMsg = this.Invoke("Divide", args); return (double)responseMsg[];
}
}
}

 

.NET 创建 WebService的更多相关文章

  1. 利用JDK(1.6及以上版本)创建WebService

    一.什么是WebService WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络 ...

  2. 如何使用C#创建WebService

    使用C#创建WebService,服务端的webservice是必须,中间的soap,Xml我们不用去关心.下面是使用C#创建WebService的简单介绍. AD:51CTO技术沙龙 | 赋予APP ...

  3. 【转】SoapUI5.0创建WebService接口模拟服务端

    原文:http://blog.csdn.net/a19881029/article/details/26348627 使用SoapUI创建WebService接口模拟服务端需要接口描述文件 MathU ...

  4. MyEclipse创建WebService

    使用Eclipse的话还要装web tool platform很多东西,用MyEclipse一步到位,创建WebService很方便. MyEclipse中有自己的Tomcat,要把事先在电脑上独立安 ...

  5. 【转】vs2010下创建webservice

    题记:学了六个月java一直想做java,没想到进了.NET项目组,还是VB2012,还有WebService,压力山大,这篇纯粹看看多图的效果,版主不要怪罪. Visual Studio 2010默 ...

  6. 一个php创建webservice,并通过c#调用的真实实例

    最近需要用php创建webservice供C#和JAVA来调用,通过3天的搜索和尝试,终于成功在C#下调用,JAVA的调用还没开始,为防止忘记,在这里记录下来全过程. 本文参考了许多文章,文中也采用了 ...

  7. gsoap创建webservice服务简单教程

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] WebServicesoapgsoap 使用gsoap创建webservice服务 下载gsop 准备待导出的服务接口定义文件比 ...

  8. 根据wsdl文件用soapUi快速创建webService服务(有图有真相)

    最近公司业务上使用webservice 频繁.由于之前都是自己搭建webservice 自己定义提供给别人服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们平台需要提供的接口.刚开始不知 ...

  9. java(MyEclipse)创建webservice和测试webservice

    转载地址:http://blog.csdn.net/hsfy2012/article/details/46300921 创建并发布自己的Webservice的工具  1 安装MyEclipse  2 ...

  10. Axis创建webservice客户端和服务端

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/ ...

随机推荐

  1. 【JZOJ5094】【GDSOI2017第四轮模拟day3】鸽子 计算几何+floyd

    题面 养鸽人要监视他的鸽子,有n只鸽子站在平面上,他可以在m个给定的点上设置监视器,如果一只鸽子在某个监视器上或者在两个监视器所连直线上或者在三个监视器所连直线的三角形内则其就咕咕咕了,现在养鸽人要让 ...

  2. FileIntputStream / FileOutputStream 类

    FileInputStream类(重点)     (1)基本概念 java.io.FileInputStream类用于读取诸如图像之类的原始字节流.   (2)常用的方法 FileInputStrea ...

  3. 学习JDK1.8集合源码之--LinkedList

    1. LinkedList简介 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的.因为它实现了Deque接口,所以也是双端队列的一种实现. 2.Lin ...

  4. 一眼看穿👀JS基本概念

    前段时间忙,好久没更新了,继续梳理基础知识这期总结的是JS的基本概念 标识符 所谓的标识符是指变量,函数属性的名字,或者函数的参数 第一个字符必须是一个字母,下划线(_)或者一个美元符号($),其他字 ...

  5. jquery输入框自动提示

    1. 下载jar包:jquery.autocomplete.js 2. 页面内容:<script type="text/javascript" src="../jq ...

  6. yii生成Model出错:yii-gii-generators-model-Generator.json No such file or dictory

    讲runtime 这个文件夹添加权限 chmod o+w runtime

  7. C++11中的并发

    在 C++98 的时代,C++标准并没有包含多线程的支持,人们只能直接调用操作系统提供的 SDK API 来编写多线程程序,不同的操作系统提供的 SDK API 以及线程控制能力不尽相同.到了 C++ ...

  8. QT中,控件显示不下,用...表示

    void CommonHelper::setQLabelText(QLabel *label, const QString &text) { QFontMetrics cs(label-> ...

  9. DTcms设置 IIS6.0设置url重写导致editor上传全部失效

    1.修改iis的重写规则为htm 2.修改后台后缀为htm 解决

  10. win2003开启telnet

    1.在服务器上,cmd中输入命令services.msc打开服务窗口,找到telnet服务,先开启它的依赖服务Remote Procedure Call,在开启telnet服务. 2.本地电脑中cmd ...