mono 调用windows webService
2009-06-03 19:03
337 查看
1. 实现linux mono Develop中调用windows 中的webService
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/000.jpg)
l linux 与 windows 在一个局域网的网段中
l windows 的IIs中发布webService
2. windows 中的设置
l webService 的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace MonoWebService
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
string text=string.Format("Machine Name:{0} Time:{1}",this.Server.MachineName,DateTime.Now.ToString());
return text;
}
}
}
l 发布webService
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/QQ%E6%88%AA%E5%9B%BE%E6%9C%AA%E5%91%BD%E5%90%8D.jpg)
l 在IE中测试
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/22.jpg)
l 如果本机的防火强开启,请关闭。如果防火墙开启,windows会阻止linux的访问
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/33.jpg)
3. Linux中的设置
l Mono中的调用代码
using System;
using System.Collections;
namespace WebServiceCallApp
{
class MainClass
{
public static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
ArrayList myList=new ArrayList();
WinService.Service1 myService=new WinService.Service1();
Console.Write(myService.HelloWorld());
Console.Read();
}
}
}
l 确认Windows 的 WebService 可访问
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/1.jpg)
l Mono中添加webService
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/2.jpg)
注意一定要加成http://10.168.14.131/Service1.asmx?wsdl
Wsdl 必须有,不然monoDevelop 找不到webService
l 运行效果
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/3.jpg)
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/000.jpg)
l linux 与 windows 在一个局域网的网段中
l windows 的IIs中发布webService
2. windows 中的设置
l webService 的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace MonoWebService
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
string text=string.Format("Machine Name:{0} Time:{1}",this.Server.MachineName,DateTime.Now.ToString());
return text;
}
}
}
l 发布webService
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/QQ%E6%88%AA%E5%9B%BE%E6%9C%AA%E5%91%BD%E5%90%8D.jpg)
l 在IE中测试
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/22.jpg)
l 如果本机的防火强开启,请关闭。如果防火墙开启,windows会阻止linux的访问
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/33.jpg)
3. Linux中的设置
l Mono中的调用代码
using System;
using System.Collections;
namespace WebServiceCallApp
{
class MainClass
{
public static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
ArrayList myList=new ArrayList();
WinService.Service1 myService=new WinService.Service1();
Console.Write(myService.HelloWorld());
Console.Read();
}
}
}
l 确认Windows 的 WebService 可访问
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/1.jpg)
l Mono中添加webService
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/2.jpg)
注意一定要加成http://10.168.14.131/Service1.asmx?wsdl
Wsdl 必须有,不然monoDevelop 找不到webService
l 运行效果
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/3.jpg)
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/monoWebService/3.jpg)
相关文章推荐
- C# 调用java Webservice
- Jquery 调用asp.net ajax (web service/static page method)的示例(二)---复杂参数
- C# webservice调用方法总结
- Java WebService接口生成和调用 图文详解
- web引用程序调用 windows的服务
- 如何利用mono把.net windows service程序迁移到linux上
- CORBA 简单了解和JAVA与C++互操以及C++调用Java web service
- Java webservice 调用自定义dll(有其他依赖)方法全解,无需设置环境变量
- .NET WebService 调试,允许通过IE输入参数的设置,允许Perl以Post方式调用的配置项
- Jbpm+WebService实践项目1——流程化调用“数加”“数减”两个服务(CallNumberPlusSubtract)
- C# WebService动态调用
- 转载——Java与WCF交互(二):WCF客户端调用Java Web Service
- 升级Azure SDK 2.5后总是调用WindowsAzure.ServiceRuntime.DefaultEntryPoint
- ServiceStack Web Service 创建与调用简单示列
- xfire java调用 .NET webservice 方法返回值是[#document: null]
- jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding
- 先学习学习: Fine-Tune Your Web Site for Windows XP Service Pack 2
- C# WebService调用及数据并行处理
- java webservice调用c#接口并传多个参数
- 项目笔记---Windows Service调用Windows API问题