WebService,客户端和服务器不解

xusheng1018 2010-12-27 08:45:51
最近刚开始学习WebService,用的是xfire,在学习中发现,服务器端建立的了一个名为IwebServiceDome的接口,实现了一个叫example的方法,然后在客户端方法中不外乎是:

Service myService = new ObjectServiceFactory().create(IwebServiceDome.class);//创建WebService对象
XFire xFire = XFireFactory.newInstance().getXFire();//获取XFire实例
XFireProxyFactory factory1 = new XFireProxyFactory(xFire);//创建XFire代理工厂
//对外提供的服务路径,这里的AddUser需要与services.xml命名相同
String serviceURL = "http://localhost:8989/WebServiceDome/services/webServiceDome";
IwebServiceDome userDAO;
try {
userDAO = (IwebServiceDome) factory1.create(myService, serviceURL);

String a = userDAO.example("xusheng");
System.out.println(a);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


但是在这种写法中调用了IwebServiceDome,那么其实说来所谓的服务器端和客户端是在同一个项目中的。那么WebService的目的其实是通过Web来跨项目跨平台,所以感觉书上例子根本没作用,在同一个项目中的话,我想怎么调用都可以,不必采取这种方式。所以我觉得我肯定还是没有理解fire的具体用法。
对以上所说甚为不解,因为刚开始学习WebService,有什么不对的地方,请大家赐教。谢谢。
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjbxngx 2011-12-15
  • 打赏
  • 举报
回复
lz可以装个虚拟机试试啊!
luther 2011-12-15
  • 打赏
  • 举报
回复
我感觉理论上实现不了的,如果客户端没有源代码或者class文件,那么其肯定是调用不了的。因为不识别。所以服务器端最好提供标准的接口。用工具将WSDL转换为java后你试了吗,好像也不识别自定义类型。我也遇到这个问题了,还不解,不知道楼主可是解决了啊?求教啊。
pyptyhb 2010-12-28
  • 打赏
  • 举报
回复
用webservice,测试的话,是可以在一个项目上,当然你也可以用不同的项目呀,甚至可以用不同语言编写的项目去测试,这都是可以的。只是你现在的方式是在一个项目中。顺便说一下你问1楼的问题,你可以用org.jdom.Element 类,然后写一个AttachmentHandler类(继承org.codehaus.xfire.handler.AbstractHandler),就可以不用IwebServiceDome类了,调用的时候只需要你传接口(也就是webServiceDome)中你要调用的方法名称就可以了。
xusheng1018 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ticmy 的回复:]
你就弄两个电脑分两个项目来试试呗
[/Quote]
客户端引用了IwebServiceDome.class 分开项目的话,没有导入这个class文件怎么用?
  • 打赏
  • 举报
回复
XFire 已经停止开发了。已经与其他的项目合并成为 Apache CXF 了,建议从这个开始。
龙四 2010-12-27
  • 打赏
  • 举报
回复
你就弄两个电脑分两个项目来试试呗

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧