解决方案 »
- tomcat启动报错Perhaps it exists but certain dependencies are not available, 求大神
- 如何将统计好的数字展示到jsp页面上?
- struts.xml 问题?不要笑.本人菜鸟
- 简单的AJAX
- 有关 表达式
- spring+ibatis+struts的问题(谁知是什么原因造成这样的)
- split(" ")函数用空格分解字符串,但用户输入全角的空格不认,被当做一个字符串,如何解决?!
- 急,请教高手:为什么在同宿舍的电脑就可以打开tomat里的jsp网页,而同楼的就不可以打开了
- 为什么我的文件夹树老是转行?
- 求助贴: onclick不触发,怎么回事?onchange也不行....
- java 模拟登录,看哪里不对?
- java web Spring 出现NullPointException,求解答
我用cxf开发的webservice,可以产生wsdl
然后用cxf带着的wsdl2java,产生stub类。./wsdl2java -p client.stub -d /home/li/ -client http://localhost:8080/WebServices/services/AlarmService?wsdl
-p 指定stub类的包名
-d 存放的目录
这两个参数生成的stub类,会放在 /home/li/client/stub文件夹下。
-client指定,生成客户端的调用示例,可以不加。
后面跟的是wsdl的地址。然后把类放到项目的包中。然后写代码调用。//代理工厂,用来产生服务代理类
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//参数是生成的stub类中的接口类
factory.setServiceClass(AlarmServiceInterface.class);
//这个地址是服务的地址,不是wsdl地址,这个地址在wsdl文档的最后
factory.setAddress("http://localhost:8080/WebServices/services/AlarmService");
//产生代理
AlarmServiceInterface serviceProxy = (AlarmServiceInterface) factory.create();
//直接调用方法
serviceProxy.doAlarm("good");
这只是我用的方法,我觉得还是比较方便的, 如果不想生成stub类,可以使用动态调用。