CXF调用webservice
服务器端发布的service地址为:http://localhost:8080/webP/webservice/helloWorld 1)在客户端先访问下,看能否访问到,在服务器发布的地址后面加上URL+?wsdl;如:http://localhost:8080/webP/webservice/helloWorld?wsdl 访问。 如果看到xml文档信息,说明正常。 2)在dos下输入cmd运行,找到解压的apache-cxf-2.6.1的bin目录下, 运行 wsdl2java -p ws?http://localhost:8080/webP/webservice/helloWorld?wsdl?在apache-cxf-2.6.1的bin目录就生成了ws文件夹 如图: -p 也就是package 对应java中的包 -d 输入目次,生成.java文件会在该目录下,会在该目录下生成-p的package目录。
-client 生成客户端测试web service的代码.
-server 生成办事器启动web service的代码.
-impl 生成web service的实现代码.
-ant 生成build.xml文件.
-all 生成上方-client -server -impl -ant 对应的所有文件.
3)把生成的ws文件夹中的java文件放到自己的项目中,这些java文件就是调用webservice所需要的类
4)运行测试类 import java.util.ArrayList; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import ws.HelloWorld; 输出结果,over! 转载:http://blog.sina.com.cn/s/blog_8ee5914d01016ctl.html 方式一:通过ClientProxyFactoryBean 调用 public static <T> T getService(String url,Class<T> cls) { ? 方式二:通过JaxWsDynamicClientFactory 调用 JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Object[] objects = client.invoke("test","test args"); 附:cxf-dosgi发布webservice时只需要增加以下配置: Dictionary<String,String> props = new Hashtable<String,String>(); http://kyfxbl.iteye.com/blog/1432952 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |