java调用c#写的webservice

首先要明白,webservice都一个样,对使用者来说,他看不出来你这个webservice是用什么写的,因为都是soap和wsdl状的东西,那么为什么要起这么个名字,嗯...是为了方便广大熟悉c#后来又用java的兄弟姐妹们搜索.
使用c#的群众知道,用vs来生成一个webservice调用简单的让只用java的人们不敢相信(...),一个对话框,一个地址,一个finish按钮,一切都搞定了.很好,那现在你开始用java了,开始痛苦了...暂时先别痛苦了,我来告诉你一个和vs几乎差不多的eclipse插件,用这个来调用webservice也很简单.
这个东西叫XFire.点击下面的网址,你就会得到一切.
http://xfire.codehaus.org/Eclipse+Plugin
很好,于是你安装了,使用了.发现这个真的和vs一样容易,而且也和vs一样主动给你生成了好多类,用起来和自己写的一样,嗨,真不错.
那该怎么调用呢?
假设你要调用的webservice的名字是HelloWorld,这个有一个WebMethod叫SayHey(string name).那你找一下自动生产的那些类,里面应该有个叫HelloWorldClient的.下面的代码演示了如何使用:

HelloWorldClient serviceClient = new HelloWorldClient();
HelloWorldSoap soap= serviceClient.getHelloWorldSoap();
String result=soap.SayHey("notus");

总的来说,就是xfire会用你提供的wsdl地址生成类,而和vs不同的是,你需要两步才能调用到你的webmethod.

如果你安装上面的步骤一步一步来了,那很好,最后你注定没有办法运行成功-_- 因为,因为这个毕竟不是真的vs,在运行前,你需要做一个设置.
从你的项目的右键菜单里调出Properties配置窗口,选中左面一栏中的XFire项,右面会列出所有与XFire运行有关的类库,选中如图所示的类库,这样就万事大吉了。

恭喜你,第一步算是迈出来了!

下面有一个写的比较详细的文章,推荐给大家.在我为为什么不能运行而百般苦恼的时候,是这篇文章告诉我需要在配置里勾选某些类...从而把我从痛苦中拉了出来.
http://blog.csdn.net/igate/archive/2008/04/12/2286147.aspx
那我为什么要自己唠叨,而不是直接给出这个地址?我知道我的轮子造的没有人家的好,我这么做是为了备份一下,万一哪天csdn的博客崩溃了...
而且,我这个标题更容易让使用c#的你搜索到,而不用和我一样痛苦了...什么maven,什么ant,什么什么什么,都见鬼去吧

posted on 2008-07-17 19:22  Notus|南色的风  阅读(12562)  评论(2编辑  收藏  举报