.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/ ...
随机推荐
- python正则表达式应用 去掉标点符号
- php怎么自动加载
在 PHP 代码的顶部你是不是经常看到这样的代码. require 'lionis.php'; require 'is.php'; require 'cool.php'; 如果只是引入几个 PHP 脚 ...
- SQLServer —— 流程控制语句
一.IF - ELSE 语法: IF(条件) BEGIN 语句1 语句2 ... END ELSE BEGIN 语句1 语句2 ... END 说明: ELSE是可选部分,如果有多条语句,才需要BEG ...
- PPT转PDF
需求:可以上传ppt,前台可以预览. 在用程序将ppt转pdf的过程中,遇到几个问题,记录如下: 1.检索 COM 类工厂中 CLSID 为 {91493441-5A91-11CF-8700-00AA ...
- hackerrank---Sets - Symmetric Difference
题目链接 集合操作 附上代码: M = int(input()) m = set(map(int, raw_input().strip().split())) N = int(input()) n = ...
- hdu1564 简单博弈
多画几个图可以发现规律: #include<stdio.h> int main() { int i,n; while(scanf("%d",&n)!=EOF) ...
- Idea创建maven项目 标签: idea 2016-12-28 21:51 605人阅读 评论(27) 收藏
很久之前就听说了idea,界面也的确比eclipse好看,不过一直没有机会使用,这两天试用了一下,代码提示方面的确很好用,不过使用习惯跟eclipse还是有一些差距的,下面介绍一下如何用idea创建一 ...
- 洛谷3067 BZOJ 2679题解(折半搜索)
传送门 BZOJ传送门(权限题) 看到n小于20,就可以想到搜索 所有的数要么在集合a中,要么在集合b中,要么都不在 可是3^n复杂度会炸,我们考虑优化 可以利用折半搜索,将前面一半的所有可能情况与后 ...
- select筛选用户数据
- LeetCode103 Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...