日期:2014-05-19  浏览次数:20630 次

xfire webservice 客户端调用服务端 一个小问题
xfire webservice 客户端调用服务端 一个小问题 :
网上一个小例子:(部分代码)
 Service serviceModel=new ObjectServiceFactory().create(HelloWorldService.class); ////HelloWorldService 这个类是在远程服务器端
 XFire xfire=XFireFactory.newInstance().getXFire();
 XFireProxyFactory factory=new XFireProxyFactory(xfire);
 String serviceUrl="http://localhost:8080/MyWebService/services/firstws";
 HelloWorldService client=null; ///////HelloWorldService 这个类是在远程服务器端,我客户端怎么得到它呢???
 String serviceResponse=client.sayHello(username); //////HelloWorldService类中一个方法
 .....................

  问题是:我在客户端,而HelloWorldService这个类是在服务端, 我客户端根本没有这个类啊 ,而这里怎么能这样写呢?
  还是我得在客户端写一个对应 的接口???? 那如果调用很多类,我客户端竟不是也得跟得写很多接口???? ///对XFire 技术而言

  还有一个问题: 如果我在服务器端的方法对应 的参数是一个 对象(不是基本类型,而是自定义的类如,Person,UserInfo 等等),这时我在客户端
  竟不是也得有这个类???
   
  刚接触WebService Xfire 见笑了.请高手们帮帮忙!


------解决方案--------------------
第二个问题是肯定的,否则你无法来定义这个类型。
------解决方案--------------------
给你推荐一个文章:xfire生火指南。

一般来说,在客户端必须有服务端相应的类。生成方法是使用xfire的生成工具 wsgen,具体可以参考网址:
http://xfire.codehaus.org/Client+and+Server+Stub+Generation+from+WSDL

还有就是使用myEclipse的图形化界面生成,myEclipse集成了xfire1.2.6
------解决方案--------------------
我也刚学,哎!帮不了你~