.NET 创建 WebService
服务器端代码
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的更多相关文章
- 利用JDK(1.6及以上版本)创建WebService
一.什么是WebService WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络 ...
- 如何使用C#创建WebService
使用C#创建WebService,服务端的webservice是必须,中间的soap,Xml我们不用去关心.下面是使用C#创建WebService的简单介绍. AD:51CTO技术沙龙 | 赋予APP ...
- 【转】SoapUI5.0创建WebService接口模拟服务端
原文:http://blog.csdn.net/a19881029/article/details/26348627 使用SoapUI创建WebService接口模拟服务端需要接口描述文件 MathU ...
- MyEclipse创建WebService
使用Eclipse的话还要装web tool platform很多东西,用MyEclipse一步到位,创建WebService很方便. MyEclipse中有自己的Tomcat,要把事先在电脑上独立安 ...
- 【转】vs2010下创建webservice
题记:学了六个月java一直想做java,没想到进了.NET项目组,还是VB2012,还有WebService,压力山大,这篇纯粹看看多图的效果,版主不要怪罪. Visual Studio 2010默 ...
- 一个php创建webservice,并通过c#调用的真实实例
最近需要用php创建webservice供C#和JAVA来调用,通过3天的搜索和尝试,终于成功在C#下调用,JAVA的调用还没开始,为防止忘记,在这里记录下来全过程. 本文参考了许多文章,文中也采用了 ...
- gsoap创建webservice服务简单教程
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] WebServicesoapgsoap 使用gsoap创建webservice服务 下载gsop 准备待导出的服务接口定义文件比 ...
- 根据wsdl文件用soapUi快速创建webService服务(有图有真相)
最近公司业务上使用webservice 频繁.由于之前都是自己搭建webservice 自己定义提供给别人服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们平台需要提供的接口.刚开始不知 ...
- java(MyEclipse)创建webservice和测试webservice
转载地址:http://blog.csdn.net/hsfy2012/article/details/46300921 创建并发布自己的Webservice的工具 1 安装MyEclipse 2 ...
- Axis创建webservice客户端和服务端
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/ ...
随机推荐
- Direct2D 第6篇 绘制多种风格的线条
原文:Direct2D 第6篇 绘制多种风格的线条 上图是使用Direct2D绘制的线条,Direct2D在效率上比GDI/GDI+要快几倍,GDI/GDI+绘图是出了名的"慢", ...
- Leetcode4.Median of Two Sorted Arrays两个排序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 nums2 不同 ...
- Hdu 1007 最近点对
题目链接 Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- js 全角与半角互转
///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //半角转换为全角函数 function ...
- No.3 Verilog 语言要素
- 标识符 任意字母.数字."$"和"_"组成,标识符第一个不能是数字. - 注释 ()/*可扩展多行*/ ()//本行结束 - 系统函数 以$字符开始的标识符 ...
- JS BOM 窗口中的使用
1,弹框的种类 2,打开一个新页面 子窗口操作父窗口,打开新窗口显示内容open("opener.html","haha","width=300,he ...
- Add Binary字符数字相加,字符串合成
Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...
- php json_encode输出为空问题
这种情况一般是json_encode序列化数组时出现错误,错误原因有很多,可以通过json_last_error函数来查看错误原因!!! 可能的原因 ------------------------- ...
- Libevent:8Bufferevents高级主题
本章描述的是Libevent的bufferevent实现的一些高级特性,这对于普通应用来说并非必须的.如果你只是学习如何使用bufferevent,则应该跳过本章去阅读evbuffer的章节. 一:成 ...
- Libevent:1前言
一:libevent概述: libevent是一个用来编写快速.可移植.非阻塞IO程序的库,它的设计目标是:可移植性.高效.可扩展性.便捷. libevent包含下列组件: evutil:对不同平台下 ...