加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService CFX 实现

发布时间:2020-12-16 23:54:06 所属栏目:安全 来源:网络整理
导读:? ? ? ?Apache CXF是Codehaus XFire 的第二代产品,目前在不同框架中性能最佳,应该是开发者不错的选择,这与它本身的架构设计不无关系。相比其他框架,CXF具有几个突出的特性:支持JAX-WS、Spring集成、Aegi数据绑定、支持RESTful services、支持WS-*、Apac

? ? ? ?Apache CXF是Codehaus XFire 的第二代产品,目前在不同框架中性能最佳,应该是开发者不错的选择,这与它本身的架构设计不无关系。相比其他框架,CXF具有几个突出的特性:支持JAX-WS、Spring集成、Aegi数据绑定、支持RESTful services、支持WS-*、Apache协议、代码实现简洁。Apache Axis2是Apache Axis1的第二代产品,架构上也非常不错,关键特性:支持各种规范、可插拔模块化设计、支持热部署等。与CXF相比性能也非常优异。

在服务端框架确定的场景下,最好是采用该框架生成客户端代码,这样配合性能可达到更佳。在实际的项目中,开发者在选择具体那个框架时,仍还需综合评估框架的开发组织、产品路线图、文档化程度、应用广泛度、与优异框架的集成度、灵活和扩展性等因素。

对比一下性能:

Axis1、Axis2、XFire、CXF、Spring、SOAP、StAX、WSDL

Axis本质上就是一个SOAP引擎(Apache Axis is an implementation of the SOAP),提供创建服务器端、客户端和网关SOAP操作的基本框架。但Axis并不完全是一个SOAP引擎,它还包括:

l??是一个独立的SOAP服务器。

l??是一个嵌入Servlet引擎(例如Tomcat)的服务器。

l??支持WSDL。

l??提供转化WSDL为Java类的工具。

l??提供例子程序。

l??提供TCP/IP数据包监视工具。

Apache Axis2相比Apache Axis1更加有效、更加模块化、更加面向xml,支持容易插件模块扩展新功能和特性,例如安全和可靠。Apache Axis2是基于Apache AXIOM,它是一个高性能、pull-based XML对象模型。Apache Axis2的关键特性:

l??解析xml更快。采用自己的对象模型和StAX (Streaming API for XML)。

l??更低的内存占用。

l??支持热部署。新服务加入到系统,无需重启服务。

l??支持异步 webservice、

l??MEP支持,灵活支持在WSDL 2.0定义的Message Exchange Patterns (MEPs)

l??更加灵活。引擎给开发人员提供了充足的自由度可扩展客户头信息处理、系统管理、

l??更加稳定性。

l??传输框架不依赖于具体协议。为集成和传输协议(SMTP,FTP,message-oriented middleware,etc)有一个简单和抽象,引擎核心是完全独立于具体的传输协议。

l??支持WSDL。支持WSDL1.1、WSDL2.0。

l??方便集成其他组件(Add-ons)。几个web services已经被集成,包括:WSS4J?for security (Apache Rampart),?Sandesha?for reliable messaging,Kandula?which is an encapsulation of WS-Coordination,WS-AtomicTransaction and WS-BusinessActivity.

l??良好的扩展性。

XFire核心是一个轻量的基于STAX消息处理模型,用来与SOAP消息交互,它支持不同类型的绑定机制、容器和传输协议。

支持webservice标准- SOAP,WSDL,WS-I Basic Profile,WS-Addressing,WS-Security,etc.

l??高性能SOAP STACK

l??可插拔绑定POJOs,XMLBeans,JAXB 1.1,JAXB 2.0,and Castor support

l??通过Java1.5 和1.4(Commons attributes JSR 181 syntax)使用JSR 181 API配置服务

l??支持多中传输协议- HTTP,JMS,XMPP,In-JVM,51); font-family:Arial; font-size:14px; line-height:26px"> l??可嵌入的和直观的API

l??支持Spring,Pico,Plexus,and Loom

l??支持JBI

l??客户端和服务端stub代码生成

l??支持JAX-WS early access

Apache CXF是一个开源服务框架。CXF可用前端编程APIs开发服务,比如:JAX-WS and JAX-RS,主要特性包括:

l??支持Web services标准。包括:SOAP、the WSI Basic Profile、WSDL、WS-Addressing、WS-Policy、WS-ReliableMessaging、WS-Security、WS-SecureConversation 和WS-SecurityPolicy.

l??支持不同类型前端开发模型。CXF实现了JAX-WS APIs,支持JAX-RS开发。

l??容易使用。CXF设计的简洁和直观,具有简洁APIs迅速的构建基于代码的服务,Maven插件使得工具集成更加容易、JAX-WS API支持、Spring 2.x XML使得配置更加容易。

l??支持二进制和遗留协议。CXF被设计为可插拔的架构,在不同的传输协议结合下,不仅支持XML,也支持非XML类型绑定,例如:JSON和CORBA。

简单贴一个cfx实现的webservice思路以及重点 :

准备工作:

A:准备CXF实现所需要的jar ,这个网上多的是,可以到官网:

http://cxf.apache.org/download.html? 查看

B:Server 接口的定义以及实现;

伪代码:?

接口: public String getWeather(String name);?

实现:?public String getWeather(String name){

return name+"地区天气是晴,风力6级,适合放风"。

}

C、web.xml配置文件:(和spring很好的集成了,所以用起来也比较的爽,配置如下)


<context-param>
? ? <param-name>contextConfigLocation</param-name>
? ? <param-value>classpath*:spring*.xml</param-value>
? </context-param>

<!-- you must add listener,if not,it will not working ?-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>?
<display-name>Apache CXF Endpoint</display-name>
? <servlet-name>CXFServer</servlet-name> ?
? <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>?
? <load-on-startup>1</load-on-startup>?
</servlet> ??

<servlet-mapping>?
? <servlet-name>CXFServer</servlet-name>?
? <url-pattern>/services/*</url-pattern>?
</servlet-mapping>

webservice 发布文件:

<!-- webservice -->
<jaxws:endpoint id="service"
implementor="com.demo.expense.webservice.WebServiceImpl" address="/WebService">
</jaxws:endpoint>

完成了这些,在tomcat中发布一下,去浏览器验证发布是否有效,输入:

http:// local IP:8080/WebServer/services/WebService?wsdl?

如果有相关信息展示,则证明发布成功,如果没有则看错误日志。

D:客户端的验证

可以使用eclipse的默认功能,新建一个项目,在New- Webservice client -service definition 中输入以上验证,系统会自动

生成相关的代码提供你去校验是否真实有效(略)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读