.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服务,用于四则运算,如下图所示:
Calculate Service
注意:需要通过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 Service Customer

运行Calculate Web服务,在CalculateClient控制台项目中添加服务引用,如下图所示:
Add Service Reference
注意:地址中的?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();

运行结果,如下图所示:

Result

3.Java调用.net编写的WebService

3.1.创建Web服务

使用Visual Studio 2012创建Asp.net Web Application项目,添加Calculate.asmx并添加简单的四则运算测试,如下图所示:
Calculate Service
然后,运行该服务。

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中编写测试代码,如下图所示:

Calculate Service Customer

运行结果,如下图所示:

Result

posted @ 2016-03-01 01:31  jello chen  阅读(1359)  评论(2编辑  收藏  举报