Java与.NET的WebServices相互调用

日期: 2008-04-02 来源:TechTarget中国

  一:简介


  本文介绍了Java与.NET开发的Web Services相互调用的技术。本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用Java做客户端调用.NET开发的Web Services。


  二:项目需要的工具


  Windows2000 Server(IIS)


  Jbuilder9.0( 含有Tomcat , axis)


  JDK1.4+Java Web Services Develop


  VS.Net 2003


  备注:如果没有JBuilder的话就需要自己下载安装Tomcat4.1 以及 Axis的开发包,并做相应配置。由于网上有很多这样的文章,这里就不一一说明了。


  三:用.NET做客户端调用Java写的Web Services


  1. 生成一个Java Web Services


  使用JBuilder 生成一个Web Services是非常简单的,我完全是按照它的帮助做的,只要一步步做下去就可以了。具体路径是Developing Web Services -> tutorials : Web Services(Axis) -> Creating a simple Web Services


  2. 发布这个Web Services并得到它的WSDL


  Web Services生成好之后,F9运行这个项目。然后,单击View浏览现有的Web 服务,单击Bean1的WSDL连接,我们可以在浏览器中察看它的WSDL描述。在浏览器地址栏复制WSDL地址,为下一步使用.NET开发客户端调用程序做准备。


  3. 用VS.NET生成一个.NET的客户端


  新建一个项目(WinForm,ASP.net都可以),我在这里使用的是一个Asp.Net项目。在起始页面上放置一个文本输入框用来显示调用Web Services的结果,放置一个按钮,用来单击调用Web Services。然后,选择添加Web 引用,在WSDL一栏中把刚才得到的WSDL地址复制过来,Web 引用的名称输入JavaService,单击添加引用按钮就可以了。此时,我们可以在VS.net 的Solution Explore中看到这个Web 引用。


  在按钮的单击事件中输入下列代码:


  JavaService.Bean1 bean = new JavaService.Bean1();


  TextBox1.Text = bean.getSample.ToString ();


  这样,一个.NET客户端就完成了,测试一下,工作正常,OK.


  四:用Java做客户端调用.NET写的 Web Services


  有了上面的成功,使我以为用Java做客户端调用也是一件十分容易的事情,可实际情况却耗费了我两天时间才得以实现。


  1. 用VS.NET新建一个Asp Web Services工程,添加一个web 服务,命名为SumService.asmx。新增一个web method,代码如下:


  [WebMethod]


  public int IntAdd(int a,int b)


  {


  return a+b ;


  }


  然后运行它,并利用IE进行测试成功。


  2. 打开jbuilder9.0,新建一个项目,添加一个java class ,命名为TestNetService,输入下列代码:


  package MyWebServiceJavaClient;


  import java.util.Date;


  import java.text.DateFormat;


  import java.util.Date;


  import java.text.DateFormat;


  import org.apache.axis.client.Call;


  import org.apache.axis.client.Service;


  import javax.xml.namespace.QName;


  import java.lang.Integer;


  import javax.xml.rpc.ParameterMode;


  /**


  *


  Title:

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐