论坛首页 Java企业应用论坛

初学CXF的疑惑

浏览 12398 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-21  
SOA
服务器端的代码:
1.开发个借口和实现类,比如UserService和UserServiceImpl
2.通过一系列配置将UserService暴露出去
3.通过CXF提供的java2wsdl命令行生成WSDL文件或者是把服务发布到Web容器,由Web容器自动生成WSDL文件

这个看起来貌似没什么问题

但在客户端:
看了很多代码,不关事用Spring或者什么的,最终都要获取一个服务器端服务的一个实例,如上述UserServiceImpl的实例,也就是说在客户端代码中必须import UserServiceImpl。那么我客户端就必须把服务器端所有代码打JAR包放进来。

那我的问题就是,既然都把这些代码拿过来了,那还要之前那些步骤搞毛,直接new 一个UserServiceImpl不就可以了吗?
比如像这样的客户端代码我就很费解

import UserServiceImpl
public void test(){
  UserServiceImpl uss=new UserServiceImpl(new URL("file:d:\\ws\\UserServiceService.wsdl"),new    QName("http://cxf.demo/","UserServiceImpl"));
}




求解!!!
   发表时间:2011-09-21  
看来 如果服务器端和客户端 都是基于java平台,那么上述的客户端调用的可行,变态的是服务器端还需要把接口打包,放到客户端的程序下面。
感觉太不爽了。
0 请登录后投票
   发表时间:2011-09-21   最后修改:2011-09-21
另外一种调用方式 :生成stub,不关服务器端是java还是.net平台,都可以通过生成stub来实现,很多文章这样说。但尼玛什么是“生成stub”,写文章是要负责任的,写出来要让绝大部分的人看懂不然放出来搞毛。
所谓的生成stub,貌似就是指用wsdl2java命令来生成代码的过程.....
0 请登录后投票
   发表时间:2011-09-21  
(╰_╯)#.已经背离了webservice
0 请登录后投票
   发表时间:2011-09-21  
你可以提供 wsdl  然后客户端根据wsdl生成java,或者 不提供wsdl  只提供接口jar
0 请登录后投票
   发表时间:2011-09-22  
zhushidan100 写道
(╰_╯)#.已经背离了webservice

这样的回复我觉得毫无意义...不知道你是懂呢还是不懂...
0 请登录后投票
   发表时间:2011-09-22  
waitingmyself 写道
你可以提供 wsdl  然后客户端根据wsdl生成java,或者 不提供wsdl  只提供接口jar

兄弟...你的认识和我一样...简单起见我正在项目中采用第二种方式.现在需要考虑加入Security了....
0 请登录后投票
   发表时间:2011-09-22  
ws传递的是数据,
数据的类型由wsdl描述,
如果服务端、客户端都是java,则客户端导入服务端的jar包就可以,
如果服务端是非java,而客户端是java,则需要使用wsdl来生成相应的数据类型,这也是wsdl本职工作。
1 请登录后投票
   发表时间:2011-09-22  
客户端只需要UserService接口,不需要Impl.
0 请登录后投票
   发表时间:2011-09-22  
可以通过wsdl生成对应的代理文件,就算是需要提供也只是接口而已,而客户端所谓的实现,只是一个代理接口的封装罢了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics