Cxf - 基礎和示例
一、簡介
WebService是一種跨平臺、跨語言的規範。解決遠端、跨平臺、跨語言應用之間的呼叫。
二、框架
Axis --> Axis2(Apache,Web Service框架)
XFire --> CXF(Apache,SOA框架(XFire(Web Service框架) + Celtix(ESB(企業服務匯流排)框架)))
三、配置
下載CXFapache-cxf-2.7.10,在環境變數Path中新增D:\JavaIDE\apache-cxf-2.7.10\bin;
四、依賴
五、服務端
1、說明
(1)服務端新增Cxf相關的Jar
(2)每個Web Service元件需要兩個部分,即介面和實現類
1、介面
介面需要使用java.jws.WebServie註解
import javax.jws.WebService;
@WebService
public interface UserInfoWs {
public String sayHello(String name);
}
2、實現
實現類同樣需要使用java.jws.WebService註解,同時還需要指定其endpointInterface即實現的介面和serviceName即Service的屬性
import javax.jws.WebService;
import com.xilen.cxf.ws.UserInfoWs;
@WebService(serviceName="UserInfoWsImpl",endpointInterface="com.xilen.cxf.ws.UserInfoWs")
public class UserInfoWsImpl implements UserInfoWs {
@Override
public String sayHello(String name) {
return name + ", Hello!";
}
}
3、釋出
通過內嵌Jetty伺服器,呼叫javax.xml.ws.Endpoint的publish()方法釋出WebService
import javax.xml.ws.Endpoint;
import com.xilen.cxf.ws.UserInfoWs;
import com.xilen.cxf.ws.impl.UserInfoWsImpl;
public class ServerMain {
public static void main(String[] args) {
UserInfoWs hw = new UserInfoWsImpl();
Endpoint.publish("http://192.168.1.100/cxf", hw);
}
}
六、客戶端
1、說明
客戶端在簡單呼叫的情況下,無需依賴任何Cxf的Jar
2、生成
客戶端利用CXF中的wsdl2java工具,根據Server端的wsdl文件生成Web Service相關的Java程式碼
D:\Works\CxfClient\src>wsdl2java http://192.168.1.100/cxf?wsdl
3、呼叫
import com.xilen.cxf.ws.UserInfoWs;
import com.xilen.cxf.ws.impl.UserInfoWsImpl;
public class ClientMain {
public static void main(String[] args) {
//在生成的Java類中繼承javax.xml.ws.Service的類可作為工廠來使用
UserInfoWsImpl factory = new UserInfoWsImpl();
//通過工廠類例項來獲取遠端Web Service物件的代理
UserInfoWs ui = factory.getUserInfoWsImplPort();
//呼叫代理的方法實現遠端呼叫
System.out.println(ui.sayHello("Admin"));
}
}>
4、結果
Admin, Hello!
相關文章
- WebService之Spring+CXF整合示例WebSpring
- JAX-WS - 基礎示例
- XML - Schema之基礎示例XML
- PhantomJS 基礎及示例JS
- js 閉包 基礎 示例 高階JS
- Go基礎系列:雙層channel用法示例Go
- 基於Maven的Spring整合CXFMavenSpring
- VC++基礎 連結串列的操作示例C++
- Cxf - Spring整合Cxf暴露WebServicesSpringWeb
- JS基礎教程——正規表示式示例(推薦)JS
- Log4J基礎詳解及示例大全
- ios基礎之UITableViewCell的重用(帶示例原創)iOSUIView
- Java-Spring-WebService最基礎的配置示例JavaSpringWeb
- GaussDB SQL基礎語法示例-迴圈語句SQL
- cxf ServerFactoryBean 生成基於soap1.2的WebServicesServerBeanWeb
- 用cxf編寫基於spring的webservice之下篇SpringWeb
- 浮動和定位基礎
- Java基礎| 類和物件Java物件
- 【Java基礎】類和介面Java
- [譯]基礎中的基礎,JavaScript中的值和引用JavaScript
- .NET基礎拾遺(1):型別語法基礎和記憶體管理基礎型別記憶體
- 三、Go語言基礎:go build命令用法及示例詳解GoUI
- Go語言基礎(04):go doc命令用法及示例詳解Go
- php基礎,php自動載入的實現程式碼示例PHP
- Linux 下 cut 命令的 4 個基礎實用的示例Linux
- CXF--入門
- Cxf - 轉換器
- [.net 物件導向程式設計基礎] (5) 基礎中的基礎——變數和常量物件程式設計變數
- 零基礎寫框架(2):故障排查和日誌基礎框架
- JAVA基礎(一)equals和==和hashCodeJava
- Nginx 基礎理解和安裝Nginx
- Pandas 基礎 (12) - Stack 和 Unstack
- 前端基礎之BOM和DOM前端
- bootstrap框架基礎和常用元件boot框架元件
- vuex 的概念和基礎使用Vue
- jQuery基礎DOM和CSS操作jQueryCSS
- Java基礎-抽象類和介面Java抽象
- 【Java基礎】反射和註解Java反射