.net与Java的WebService互调
本文记录一下.net与Java是如何进行Web Service的互相调用的。
1.准备工作
- MyEclipse 10
- JDK 1.6.0_13
- Visual Studio 2012
- .net framework 4.5
2..net调用Java编写的WebService
2.1.创建Web服务
使用MyEclipse 10创建一个Calculate Web服务,用于四则运算,如下图所示:
注意:需要通过Create Web Service From Java Class来生成apt。
运行Calculate Web服务,程序中指定的服务发布地址是:http://127.0.0.1:11110/Service/Calculate,可在浏览器中由http://127.0.0.1:11110/Service/Calculate?wsdl来访问wsdl。
2.2.创建消费服务
使用Visual Studio 2012创建一个消费Calculate Web服务的控制台程序,如下图所示:
运行Calculate Web服务,在CalculateClient控制台项目中添加服务引用,如下图所示:
注意:地址中的?wsdl不能少,否则会因为无法匹配Request的ContentType而发生异常(实际上服务器端发生了415 Unsupported Media Type的错误)。
在Main函数中编写如下代码:
ServiceReference1.CalculateClient client = new CalculateClient();
Console.WriteLine(client.add(6,3));
Console.WriteLine(client.sub(6,3));
Console.WriteLine(client.mul(6,3));
Console.WriteLine(client.div(6,3));
Console.ReadKey();
运行结果,如下图所示:
3.Java调用.net编写的WebService
3.1.创建Web服务
使用Visual Studio 2012创建Asp.net Web Application项目,添加Calculate.asmx并添加简单的四则运算测试,如下图所示:
然后,运行该服务。
3.2.创建消费服务
使用MyEclipse 10创建一个消费Calculate Web服务,并通过如下命令来生成客户端服务代理类:
wsimport -s F:\Blogs\Java\CalculateServiceCustomer\src -p com.jello.client -keep http://localhost:28683/Calculate.asmx?wsdl
刷新src目录,在Main中编写测试代码,如下图所示:
运行结果,如下图所示: