使用 CXF 做 webservice 简单例子
轉:http://www.cnblogs.com/frankliiu-java/articles/1641949.html
Apache CXF 是一個開放源代碼框架,提供了用于方便地構建和開發 Web 服務的可靠基礎架構。它允許創建高性能和可擴展的服務,您可以將這樣的服務部署在 Tomcat 和基于 Spring 的輕量級容器中,以及部署在更高級的服務器上,例如 Jboss、IBM? WebSphere? 或 BEA WebLogic。
該框架提供了以下功能:
- Web 服務標準支持:CXF 支持以下 Web 服務標準:
- Java API for XML Web Services (JAX-WS)
- SOAP
- Web 服務描述語言(Web Services Description Language ,WSDL)
- 消息傳輸優化機制(Message Transmission Optimization Mechanism,MTOM)
- WS-Basic Profile
- WS-Addressing
- WS-Policy
- WS-ReliableMessaging
- WS-Security
- 前端建模:CXF 提供了前端建模的概念,允許您使用不同的前端 API 來創建 Web 服務。API 允許您使用簡單的工廠 Bean 并通過 JAX-WAS 實現來創建 Web 服務。它還允許您創建動態 Web 服務客戶端。
- 工具支持:CXF 提供了用于在 Java Bean、Web 服務和 WSDL 之間進行轉換的不同工具。它提供了對 Maven 和 Ant 集成的支持,并無縫地支持 Spring 集成。
- RESTful 服務支持:CXF 支持代表性狀態傳輸(Representational State Transfer,RESTful )服務的概念,并支持 Java 平臺的 JAX-RS 實現。(本系列的第 2 部分將提供有關 RESTful 服務的更多信息。)
- 對不同傳輸和綁定的支持:CXF 支持不同種類的傳輸,從 XML 到逗號分隔值 (CSV)。除了支持 SOAP 和 HTTP 協議綁定之外,它還支持 Java Architecture for XML Binding (JAXB) 和 AEGIS 數據綁定。
- 對非 XML 綁定的支持:CXF 支持非 XML 綁定,例如 JavaScript Object Notation (JSON) 和 Common Object Request Broker Architecture (CORBA)。它還支持 Java 業務集成(Java Business Integration,JBI)體系架構和服務組件體系架構(Service Component Architecture,SCA)。
- code first 或者 xml first:支持使用code first 或者 xml first 的方式來創建web服務。
一 借助 annotation 創建獨立啟動的web 服務。
準備: 新建工程 導入需要的jar 包:
依賴的包:
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.1.jar
jaxb-impl-2.1.6.jar
jaxws-api-2.1.jar
jetty-6.1.5.jar
jetty-util-6.1.5.jar
neethi-2.0.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.2.jar
xml-resolver-1.2.jar
spring jar包, 用來支持xml配置:
aopalliance-1.0.jar
spring-core-2.0.4.jar
spring-beans-2.0.4.jar
spring-context-2.0.4.jar
spring-web-2.0.4.jar
CXF jar包:
cxf-2.1.jar
以上jar 包 可從apache官方網站下載apache-cxf-2.1.2.zip, 然后從apache-cxf-2.1.2/lib 目錄中獲得
1 首先服務點接口。
[java]view plaincopy· 2 編寫服務實現
[java]view plaincopy
3 編寫 webServiceApp.java類來暴露 web服務。
[java]view plaincopy
4 run webServiceApp.java 類來啟動服務。 訪問http://localhost:8080/helloWorld?wsdl 查看是否顯示
wsdl。
5編寫客戶端訪問服務。
[java]view plaincopy6測試: run webServiceApp.java 類來啟動服務,然后 run HelloWorldClient.java 來訪問服務。
二 集成到spring 中。
1 在 web.xml 中加入 :
[html]view plaincopy
2 在 applicationContext.xml 中加入:
[html]view plaincopy
注意: 這里需要加入 xmlns:jaxws="http://cxf.apache.org/jaxws"和
http://cxf.apache.org/jaxwshttp://cxf.apache.org/schemas/jaxws.xsd
3 修改客戶端。[java]view plaincopy
4 發布工程啟動web服務器(我用 tomcat 6)。
5訪問http://localhost:8080/s/webservice/helloWorld?wsdl查看是否顯示 wsdl 。
6run run HelloWorldClient.java 來訪問服務。
總結
以上是生活随笔為你收集整理的使用 CXF 做 webservice 简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花舞少女:夜来舞Live!文字ADV与音
- 下一篇: 学习笔记5-C语言-数组