5、webService CXF的应用3 原始用法
来源:互联网 发布:台湾奶粉代购 知乎 编辑:程序博客网 时间:2024/06/11 02:24
第一步:下载CXF:http://www.apache.org/dyn/closer.lua/cxf/3.1.8/apache-cxf-3.1.8.zip 。解压后,新建一个Java项目,导入cxf中lib文件夹的所有jar包。
第二步:编写接口CalculatorService.java,这个接口就是提供web服务的那个接口啦,里面的方法都是提供给人家调用滴。
package com.webService.cxf;import javax.jws.WebParam;import javax.jws.WebService;@WebServicepublic interface CalculatorService {int add(int a, int b); String concat(String a, String b);}
第三步:编写接口的实现类CalculatorServiceImpl.java,类里面要实现接口的方法。
package com.webService.cxf;import javax.jws.WebService;@WebService(endpointInterface="com.webService.cxf.CalculatorService",serviceName="calculator")public class CalculatorServiceImpl implements CalculatorService { public int add(int a, int b) { return a + b; } public String concat(String a, String b) { return a + b; }}
第四步:开发服务端WebService.java,写完以后右击,运行Run As Java application(之后也不要关掉)。如果没有错误就继续下一步,有错误检查上一个类注解的地址是否跟你包名一致。检查是否有拼写错误。
import javax.xml.ws.Endpoint;public class WebService { public static void main(String[] args) { System.out.println("web service start"); CalculatorServiceImpl implementor = new CalculatorServiceImpl(); String address = "http://localhost:8080/calculator";//这是上面在注解中已经声明过的URL Endpoint.publish(address, implementor); System.out.println("web service started"); }}
第五步:打开浏览器,输入:http://localhost:8080/calculator?wsdl ,如果显示以下信息,那么你已经完成了一大半。这个就是传说中的wsdl,要使用服务的客户端要先获取这个wsdl,知道里面描述了有什么服务使用以后。再根据这个wsdl,可以生成自己的客户端,并且访问所描述的服务。(这个一个schema文件,不懂的话再要去学一下)
第六步:客户端是完全不知道服务端以上的代码的。只有cxf和被提供的这个wsdl,那么怎样才能调用服务呢?CXF包的bin目录下其实有一个指令,叫wsdl2java,我们可以使用这个命令,根据得到的wsdl来生成java代码。接下来,小心跟着下面的步骤:
1、打开命令行,路径切换到cxf包下的bin目录(是为了使用该目录下的指令)。
2、在命令行敲上:wsdl2java http://localhost:8080/calculator?wsdl 。完了以后再看这个bin目录,你会发现多了一个com文件夹,这个就是产生的项目代码文件,留着等下用。
3、新建一个项目作为客户端,同样把所有CXF的jar包都导入,接着把上一步产生的com文件夹剪切到项目的src目录下。 把有出现红线的地方按提示修改就行了。
4、在同一个包下面编写Client类,在main方法调用服务。最后运行Run as Java Application。
测试代码:
public class Client { public static void main(String[] args) { Calculator calc = new Calculator(); CalculatorService service = calc.getCalculatorServiceImplPort(); int a = service.add(3, 7); String b = service.concat("what's ", "that about?"); System.out.println(a); System.out.println(b); }}
参考资料 http://www.cnblogs.com/leekenky/p/3410602.html
0 0
- 5、webService CXF的应用3 原始用法
- cxf+Spring的webservice应用
- 3、webService CXF的应用1 tomcat的配置方法
- 力所能及之webservice CXF框架的应用
- cxf+Spring的webservice应用--拦截器
- webservice应用 cxf框架
- CXF 创建WebService应用图解
- 4、webService CXF的应用2 Spring的配置方法
- 搭建基于CXF的WebService服务器,及其应用
- 搭建基于CXF的WebService服务器,及其应用
- 搭建基于CXF的WebService服务器及其应用
- 应用CXF开发RESTful风格的WebService入门实例
- webservice的CXF框架
- webService-cxf(3)
- WebService应用之CXF集成spring详解
- 使用CXF构建webservice和rest应用
- 使用CXF构建webservice和rest应用
- WebService之CXF框架应用上篇
- javascript数组操作
- Appletviewer运行swing
- Online Object Tracking : A Benchmark
- spark机器学习练习代码
- 如何快速完美的实现本地存储
- 5、webService CXF的应用3 原始用法
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
- mysql 单机和集群学习比较
- Jquery上传文件控件Uploadify
- 【NOIP提高组】幻魔皇
- iOS开发配置pch文件
- iOS网络——身份认证
- 使用Rabbitmq/spring进行RPC
- sqoop1.4.2数据导入