CXF 框架 是一种 基于servlet 技术 的 SOA项目要有 jdk 和servlet

webService注解 :

Web Service 元数据注释(JSR 181)
@WebService
 
1、serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service。缺省值为 Java 类的简单名称+Service。(字符串)
2、endpointInterface: 服务接口全路径, 指定做SEI(Service EndPoint Interface)服务端点接口
3、name:此属性的值包含XML Web Service的名称。在默认情况下,该值是实现XML Web Service的类的名称,wsdl:portType 的名称。缺省值为 Java 类或接口的非限定名称。(字符串)
4、portName:  wsdl:portName。缺省值为 WebService.name+Port。
5、targetNamespace:指定你想要的名称空间,认是使用接口实现类的包名的反缀
6、wsdlLocation:指定用于定义 Web Service 的 WSDL 文档的 Web 地址。Web 地址可以是相对路径或绝对路径。(字符串)
注意:实现类上可以不添加Webservice注解  
 
@WebMethod
注释表示作为一项 Web Service 操作的方法,将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。
要点:
仅支持在使用 @WebService 注释来注释的类上使用 @WebMethod 注释
1、operationName:指定与此方法相匹配的wsdl:operation 的名称。缺省值为 Java 方法的名称。(字符串)
2、action:定义此操作的行为。对于 SOAP 绑定,此值将确定 SOAPAction 头的值。缺省值为 Java 方法的名称。(字符串)
3、exclude:指定是否从 Web Service 中排除某一方法。缺省值为 false。(布尔值)  
 
@Oneway
注释将一个方法表示为只有输入消息而没有输出消息的 Web Service 单向操作。
将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类  
 
@WebParam
注释用于定制从单个参数至 Web Service 消息部件和 XML 元素的映射。
将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。
1、name :参数的名称。如果操作是远程过程调用(RPC)类型并且未指定partName 属性,那么这是用于表示参数的 wsdl:part 属性的名称。
如果操作是文档类型或者参数映射至某个头,那么 -name 是用于表示该参数的 XML 元素的局部名称。如果操作是文档类型、
参数类型为 BARE 并且方式为 OUT 或 INOUT,那么必须指定此属性。(字符串)   
2、partName:定义用于表示此参数的 wsdl:part属性的名称。仅当操作类型为 RPC 或者操作是文档类型并且参数类型为BARE 时才使用此参数。(字符串)
3、targetNamespace:指定参数的 XML 元素的 XML 名称空间。当属性映射至 XML 元素时,仅应用于文档绑定。缺省值为 Web Service 的 targetNamespace。(字符串)
4、mode:此值表示此方法的参数流的方向。有效值为 IN、INOUT 和 OUT。(字符串)
5、header:指定参数是在消息头还是消息体中。缺省值为 false。(布尔值)
@WebResult
 
注释用于定制从返回值至 WSDL 部件或 XML 元素的映射。将此注释应用于客户机或服务器服务端点接口(SEI)上的方法,或者应用于 JavaBeans 端点的服务器端点实现类。
1、name:当返回值列示在 WSDL 文件中并且在连接上的消息中找到该返回值时,指定该返回值的名称。对于 RPC 绑定,这是用于表示返回值的 wsdl:part属性的名称。对于文档绑定,-name参数是用于表示返回值的 XML 元素的局部名。对于 RPC 和 DOCUMENT/WRAPPED 绑定,缺省值为 return。对于 DOCUMENT/BARE 绑定,缺省值为方法名 + Response。(字符串)
2、targetNamespace:指定返回值的 XML 名称空间。仅当操作类型为 RPC 或者操作是文档类型并且参数类型为 BARE 时才使用此参数。(字符串)
3、header:指定头中是否附带结果。缺省值为false。(布尔值)
4、partName:指定 RPC 或 DOCUMENT/BARE 操作的结果的部件名称。缺省值为@WebResult.name。(字符串)
@HandlerChain
 
注释用于使 Web Service 与外部定义的处理程序链相关联。只能通过对 SEI 或实现类使用 @HandlerChain 注释来配置服务器端的处理程序。
但是可以使用多种方法来配置客户端的处理程序。可以通过对生成的服务类或者 SEI 使用 @HandlerChain 注释来配置客户端的处理程序。此外,可以按程序在服务上注册您自己的 HandlerResolver 接口实现,或者按程序在绑定对象上设置处理程序链。
1、file:指定处理程序链文件所在的位置。文件位置可以是采用外部格式的绝对 java.net.URL,也可以是类文件中的相对路径。(字符串)
2、name:指定配置文件中处理程序链的名称。

cxf框架的特点 :

1. Java的webService实现本身就是一个很耗性能的实现方案(xml与java对象之间在服务端以及客户端的互转比较消耗性能)
 
2. 目前java主流的webService应用以CXF、AXIS2为主;
 
3. 通过网络渠道的了解,目前CXF的效率要比AXIS2高出至少50%;
 
4. 另外有一个webService的工具metro的效率比CXF高出10%;
 
5. CXF的实现资料网上可以随便找出一大堆,metro的资料相对少一些;
 
6. CXF在java应用实现中已经很成熟,企业更倾向于用这样一个成熟的解决方案;
 
基于以上原因,我选择CXF来实现webService。
 
这是官网CXF的下载地址:
http://www.apache.org/dyn/closer.lua/cxf/3.2.1/apache-cxf-3.2.1.zip
。做个备忘,最少需要的jar包如下
antlr-2.7.7.jar
asm-5.2.jar
commons-codec-l.10.jar
commons-collections-3.2_2.jar
commons-lang3-3.6.jar
commons-text-l.l.jar
cxf-core-3.2.1.jar
cxf-rt-bindings-soap-3.2.1.jar
cxf-rt-databinding-jaxb-3.2.1.jar
cxf-rt-frontend-jaxws-3.2.1.jar
cxf-rt-frontend-simple-3.2.1.jar
cxf-rt-transports-http-3.2.1.jar
cxf-rt-transports-udp-3.2.1.jar
cxf-rt-ws-addr-3.2.1.jar
cxf-rt-ws-policy-3.2.1.jar
cxf-rt-wsdl-3.2.1.jar
neethi-3.1.0.jar
slf4j-api-1.7.25.jar
xmlschema-core-2.2.2.jar
 
常见jar包没有导入的错误总结
1org.apache.catalina.LifecycleException: A child container failed during start
缺少:cxf-core-3.0.4.jar(最核心的包,不多说)
 
 
2java.lang.ClassNotFoundException: org.apache.cxf.binding.soap.SoapBindingConfiguration
缺少:cxf-rt-bindings-soap-3.0.4.jar       soap协议)
 
 
3org.apache.cxf.jaxb.JAXBDataBinding
缺少:cxf-rt-databinding-jaxb-3.0.4.jar      
 
 
4、加载Application文件时出现Unable to locate Spring NamespaceHandler for XML schema namespace
     [http://cxf.apache.org/jaxws]
 
缺少:cxf-rt-frontend-jaxws-3.0.4.jar    frontend 前置的意思,你懂的)
 
5org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser错误:
缺少:cxf-rt-frontend-simple-3.0.4.jar
 
 
6class path resource [META-INF/cxf/cxf-servlet.xml] cannot be opened because it does not exist
缺少:cxf-rt-transports-http-3.0.4.jar
 
 
7org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://cxf.apache.org/transports/udp.
缺少:cxf-rt-transports-udp-3.0.4.jar
 
 
8org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl startup
警告: Could not start WS-Discovery Service.
javax.xml.ws.WebServiceException: java.lang.NullPointerException
不能初始化配置的bean服务,也就是运行到<jaxws:server>时出错
 
缺少:cxf-rt-ws-addr-3.0.4.jar
 
9java.lang.ClassNotFoundException: org.apache.cxf.ws.policy.AssertionInfoMap
缺少:cxf-rt-ws-policy-3.0.4.jar        
 
 
10java.lang.ClassNotFoundException: org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean
缺少:cxf-rt-wsdl-3.0.4.jar
 
11java.lang.ClassNotFoundException: org.apache.neethi.AssertionBuilderFactory
缺少:neethi-3.0.3.jar
 
12java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
缺少:slf4j-api-1.7.9.jar
 
13java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver
缺少:xmlschema-core-2.2.1.jar

webService CXF框架相关推荐

  1. 分布式架构探索 - 2. WebService RPC框架之Apache CXF

    Apache CXF是一个开源的WebService RPC框架. 例子: 1. 新建一个maven web项目, 添加pom 如下: <?xml version="1.0" ...

  2. 转载 WebService 的CXF框架 WS方式Spring开发

    WebService 的CXF框架 WS方式Spring开发 1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0.0 ...

  3. 使用CXF框架Jax-rs规范编写WebService服务端

    前提是项目SSM框架搭建好. 搭建cxf框架, 一.首先,将框架所需要的jar导入,pom.xml文件中 <!-- cxf 进行rs开发 必须导入 --> <dependency&g ...

  4. Maven项目集成cxf框架发布WebService

    关于Maven项目集成cxf框架发布和接收WebService 从网上找了很多,发现大多数都是类似"单机"版的发布,直到看了一篇博客,给我很大的启发. 在此感谢这位博客的作者:ht ...

  5. CXF框架发布WebService服务的例子

    1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.H ...

  6. 采用CXF框架发布WebService

    1. CXF介绍 :soa的框架     * cxf 是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,并且捐给了apache       * CxF的核心是org ...

  7. CXF 框架webservice 概括与特点

    CXF是webservice的框架, CXF可以与spring进行快速无缝的整合.因为CXF可以在spring的配置文件中进行webservice的相关的配置. CXF可以灵活的部署在多方web容器中 ...

  8. 二、cxf框架实现REST风格http协议的WebService(JAX-RS标准)

    上一章我已经讲了cxf框架实现soap协议的WebService(JAX-WS的标准) 下面我开始讲第二种WebService的客户端和服务器的创建,利用 cxf框架和 REST风格http协议来实现 ...

  9. 系统开发系列 之MyEclipse创建WebService详细教程和调用教程(spring框架+maven+CXF框架)

    1 回顾 [系统开发系列 之MyEclipse创建WebService详细教程和调用教程]介绍了使用JWS实现WebService接口的发布和调用,主要涉及的点有: (1)MyEclipse点击Fil ...

  10. 基于CXF框架的webservice接口发布与调用

    目录 前言 正文 一,开发接口服务端(soap风格),接收SAP系统推送过来的数据 二,调用SAP提供的webservice接口(soap风格) 三,调用SRM系统提供的rest接口 四,接口调试工具 ...

最新文章

  1. 《JavaScript面向对象精要》——第1章 原始类型和引用类型1.1 什么是类型
  2. ThreadGroup其实比ExecutorService更好
  3. asp:HyperLink中 Eval要用string.Format绑定
  4. python selenium安装教程_Python Selenium模块安装使用教程详解
  5. 拯救者Y7000拆机清灰方法及加装机械硬盘
  6. CSS3阴影 box-shadow的使用和技巧总结
  7. 『Python基础练习题』day04
  8. 谷歌google搜索打不开、谷歌gmail邮箱及相关服务无法登录的解决的方法
  9. 计算机应用基础2207,山东省高等教育自学考试2012年4月份考试专业科目一览表
  10. 机器人的发展历史及未来发展趋势
  11. PL-2303HX新版驱动
  12. org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont.addNewFamily()
  13. hololens2 通信 之 Windows.Networking.Sockets
  14. 尼克尔镜头上边的字表示什么?
  15. java map 队列_JavaSE-List/Map/Queue
  16. Delphi Web前端开发教程(2):基于TMS WEB Core框架
  17. BPM 是与非 -- 什么是BPM,如何辨别是否BPM产品,以及如何选择BPM产品
  18. ICMP网络控制报文简单分析
  19. 想要学好C++,必看,能看完,证明你有学习C++的潜质,否则趁早放弃
  20. SAP 开发功能说明书之第三方系统接口开发

热门文章

  1. 【评价模型】熵权法和模糊评价模型
  2. 【MATLAB】机器学习:线性判别分析LDA
  3. OpManager引领智能运维未来的发展方向
  4. 小米路由器开启SSH并连接
  5. 小米路由器恢复出厂设置方法详解
  6. js中文乱码解决方法
  7. Js传参中文乱码解决方法
  8. DMA控制器原理详解
  9. Principle 5.14 完美汉化版 Mac平台交互动效设计神器
  10. 谷歌在线工具--json editor online