使用Java调用C# Web Service方法

开发 后端
此事例讲解如何使用Java调用C# web Service方法,本文的编码环境:Eclipse SDK 3.2.2,Tomcat6,XFire-1.2.6,这个插件的使用你会发现JAVA调用几乎和C#的VS一样简单了。

本文编码环境:Eclipse SDK 3.2.2,Tomcat6,XFire-1.2.6。这里我用了个插件,需要的朋友自己去看,这个插件的使用你会发现JAVA调用几乎和C#的VS一样简单了。

使用插件来进行Java调用C# Web Service。

首先新建一个Java项目XFireProject,然后依次选择菜单File->New->Other ,选择XFire文件夹下的Code generation from WSDL document,打开代码生成向导

假设你要调用的webservice的名字是HelloWorld,这个有一个WebMethod叫SayHey(string name).那你找一下自动生产的那些类,里面应该有个叫HelloWorldClient的.下面的代码演示了如何使用:

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

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

如果你安装上面的步骤一步一步来了,那很好,***你注定没有办法运行成功-_- 因为,因为这个毕竟不是真的vs,在运行前,你需要做一个设置.

从你的项目的右键菜单里调出Properties配置窗口,选中左面一栏中的XFire项,右面会列出所有与XFire运行有关的类库,选中如图所示的类库,这样就万事大吉了。

WSDL的地址栏填入http://localhost:8080/WSProject/services/HelloService?wsdl,Output directory栏中点浏览按钮,选择我们刚才新建的项目XFireProject,这两项是必填的。可选项中,package一栏可以选已经存在的包名,如果不填这一项,代码生成器会在wsdl目标命名空间的基础上创建一个。

完成后,可以看到项目中多了XFire类库,还有package下面的生成的一些类。此时要保证IDE的Tomcat服务器是打开的。

此时,在Java调用C# web Service服务之前,还有一个重要的步骤,从XFireProject项目的右键菜单里调出Properties配置窗口,选中左面一栏中的XFire项,右面会列出所有与XFire运行有关的类库,按图三中所示的,选中一些类库,这些类库在调用本服务时是必须的。

所有的配置都已经完成,***就是编写代码完成调用。代码如下:

  1. package wsClient;  
  2. import hao.HelloServiceClient;  
  3. import hao.HelloServicePortType;  
  4.  
  5.  public class Invoke {  
  6.  
  7.  /** *//**  
  8.  * 这个方法调用web服务并返回服务执行的结果  
  9. *架构师kcvg合并段  
  10.   * @param yourName  
  11.  * @return  
  12.  */ 
  13.  public static String invokeServiceNow(String yourName)  
  14.    {  
  15.       HelloServiceClient service=new HelloServiceClient();  
  16.       HelloServicePortType port=service.getHelloServiceHttpPort();  
  17.       return port.sayHello(yourName);  
  18.     }  
  19.   /** *//**  
  20.    * @param args  
  21.    */ 
  22.    public static void main(String[] args) {  
  23.        // TODO Auto-generated method stub  
  24.       String MyName="Kcvg";  
  25.        System.out.println(Invoke.invokeServiceNow(MyName));              
  26.     }  
  27. }  

***程序运行得到的输出结果是“Kcvg,你好!”。这样我们就完成Java调用C# Web Service的过程。

注意:在运行调用程序时,Tomcat也必须是打开的。

【编辑推荐】

  1. 浅谈关于C#、Java泛型的看法
  2. C#与Java之比较
  3. Java与C#相似之处的对比
  4. Java与C#的构造函数执行顺序的不同之处
  5. 轻松实现Java与C#时间转换
责任编辑:冰荷 来源: cnblogs
相关推荐

2009-08-11 13:27:22

C#创建Web Ser

2009-08-11 14:16:00

Winform调用WEC#

2009-08-20 15:38:50

C#建立Web Ser

2009-08-06 16:13:16

C# Web Serv

2009-08-31 18:05:14

C#调用WalkTre

2009-08-31 16:33:28

C#调用Dispose

2015-05-12 14:16:15

C#ActiveX控件web调用

2009-08-18 13:22:55

C#动态调用Web服务

2009-09-01 11:04:59

C#调用扩展方法

2009-08-03 12:57:27

C#调用DLL

2009-04-03 13:20:05

C#扩展方法调用

2009-09-11 10:59:06

Effective C调用Dispose()

2009-08-11 13:07:26

C#类库中添加Web

2009-08-05 09:30:39

C#调用DLL函数

2009-09-02 10:49:46

C#调用析构方法

2009-08-05 09:40:02

C#调用DLL函数

2009-08-26 16:58:12

调用C# Thread

2009-08-14 15:02:24

Service模板C#创建

2009-08-07 13:55:35

Java客户端类调用C# WebServi

2011-04-08 09:52:44

C++C#DLL
点赞
收藏

51CTO技术栈公众号