1. 程式人生 > >WebService之CXF框架入門小程式

WebService之CXF框架入門小程式

其實CXF的服務建立及釋出相當簡單,建立方法如下:

  1. 安裝JDK1.7或以上(注意要設定環境變數,javac命令必須可用)
  2. 下載CXF,建議去官網下。
  3. 將下載 的CXF解壓,並配置環境變數(與JDK的環境變數配置差不多,配置完成後,需要wsdl2java -h的命令可用)
  4. 建立JAVA專案,並將CXF檔案中的jar放到專案中,並部署(JAR檔案在apache-cxf\lib目錄下,並全部COPY專案中就可以了)
  5. 建立介面
package com.ckinghan.cxf.server.service;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import
javax.xml.ws.soap.SOAPBinding; /** * 使用CXF框架,在介面上要使用@WebService註解,注意:CXF的註解是在介面上的。 * @author Ckinghan */ @WebService //這裡指定建立的是SOAP1.2的,如果不指定,建立的是SOAP1.1的,現在大部分使用的都是1.2的 @BindingType(SOAPBinding.SOAP12HTTP_BINDING) public interface WeatherService { public String getWeather(String cityName); }

6.建立實現類

package com.ckinghan.cxf.server.service.Impl;

import com.ckinghan.cxf.server.service.WeatherService;

public class WeatherServiceImpl implements WeatherService {

    @Override
    public String getWeather(String cityName) {
        System.out.println("收到來自客戶端面的請求:"+cityName);
        return
"這是一個好天氣"; } }

7、建立測試類併發布服務:

package com.ckinghan.cxf.server.test;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

import com.ckinghan.cxf.server.service.WeatherService;
import com.ckinghan.cxf.server.service.Impl.WeatherServiceImpl;

public class CXFTest {

    public static void main(String[] args) {
        //建立工廠物件
        JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();
        //設定介面
        jaxWsServerFactoryBean.setServiceClass(WeatherService.class);
        //設定介面的實現類
        jaxWsServerFactoryBean.setServiceBean(new WeatherServiceImpl());
        //設定訪問地址
        jaxWsServerFactoryBean.setAddress("http://127.0.0.1:12306/weather");

        //新增攔截器(實際工作中,基本不會在這裡加,會加在nginx代理中,以免降低伺服器效能)
        jaxWsServerFactoryBean.getInInterceptors().add(new LoggingInInterceptor());
        jaxWsServerFactoryBean.getOutInterceptors().add(new LoggingOutInterceptor());

        //釋出SOAP服務
        jaxWsServerFactoryBean.create();
    }

}

這裡寫圖片描述

9、出現如上圖所示的頁面,就說明發布成功了。那麼現在來建立客戶端。先建立專案,將JAR包部署到專案中。
10、在C盤下建立CXF_FILE資料夾
11、開啟 cmd命令提示符。輸入:cd c:/ 進入C盤要目錄
12、輸入: cd CXF_FILE 進入CXF_FILE檔案下
13、輸入 wsdl2java -p com.ckinghan.cxf.client http://127.0.0.1:12306/weather?wsdl 建立客戶端程式碼
14、將生成的客戶端程式碼COPY到新建的客戶端專案中
15、建立ClientTest訪問服務端測試程式碼

package com.ckinghan.cfx.test;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import com.ckinghan.cfx.client.WeatherService;

public class ClientTest {

    public static void main(String[] args) {
        //建立代理工廠物件
        JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
        //設定訪問地址
        jaxWsProxyFactoryBean.setAddress("http://127.0.0.1:12306/weather?wsdl");
        //設定訪問介面
        jaxWsProxyFactoryBean.setServiceClass(WeatherService.class);
        //獲取介面例項
        WeatherService create = jaxWsProxyFactoryBean.create(WeatherService.class);
        //設定引數併發送請求,獲取得返回值
        String weather = create.getWeather("深圳");
        //輸出返回值
        System.out.println(weather);
    }

}

16、出現如下執行結果,說明成功了。
這裡寫圖片描述

這裡寫圖片描述

相關推薦

WebServiceCXF框架入門程式

其實CXF的服務建立及釋出相當簡單,建立方法如下: 安裝JDK1.7或以上(注意要設定環境變數,javac命令必須可用) 下載CXF,建議去官網下。 將下載 的CXF解壓,並配置環境變數(與JDK的環境變數配置差不多,配置完成後,需要wsdl2java -h

WebserviceCXF框架快速入門

strong put 1.0 reat jdk AI NPU button RM 1. Webservice Webservice是一套遠程調用技術規範 遠程調用RPC, 實現了系統與系統進程間的遠程通信.java領域有很多可實現遠程通訊的技術,如:RMI(Socket +

WebServiceCXF框架與Spring的整合釋出服務入門

1、建立WEB專案,將CXF與SPRING的包引入專案(在下載的CXF的lib包裡,裡面已經整合好了,直接引入進去就行了) 2、建立介面 package com.ckinghan.cxf.server.service; import javax.jws

WebService初級入門程式

最近公司要做平臺,所以需要提供接口出去,老大叫我研究一下WebService,因為xfire實用於1.4以及一下版本而且貌似後來的版本都支援jax-ws等三個框架,所以我先選擇的是jax-ws作為入門的研究框架。 路是艱難的,但是還好最後是成功了。至少初步完成了java專案

MyBatis框架入門案例(關於用mybatis框架對數據庫的增刪改查)

throw gets ioe ssa 靜態代碼塊 文件 boolean 實現 where 1.新建一個maven項目,建好相對應的包,在https://mvnrepository.com中導入MyBatis需要的依賴,復制到配置文件中 2.在resources文件下

支付寶程式開發與微信程式不同的地方

前言: 本文僅彙總微信小程式移植支付寶小程式過程中遇到的一些不同的地方,詳細請參考官方開發文件。 網路請求: 對於網路請求,基本上改動不大,也就支付寶小程式沒有responseType屬性及響應碼欄位改成了status。 使用者授權登入: 1. 登入: wx.login   ====&nb

Java入門程式

學完C後,便想上手Java,這兩天寫了一些小程式碼 1.打印出九九乘法表 package 九九乘法表; public class demo { public static void main(String[] args) { for(int i= 1; i<= 9;i++

技術記錄微信程式底部導航欄

有了圖片有了文字怎麼能沒有導航欄呢,所以下面來記錄下底部導航欄的過程,先展示下我做的簡易的導航欄圖片。 可以在上面的圖片中看到底部的包含“推薦”“反饋”的一個底部導航欄。製作導航欄只需要開啟微信小程式app.json,向{}裡填入下列程式碼: "tabBar": { "col

技術記錄微信程式輪播圖

初次嘗試微信小程式的簡單製作過程中,必不可缺的便是主頁上的輪播圖,在大多數的頁面上不難見到的第一眼便是輪播圖。本小白在這上面翻閱了許多資料,初步製成一個簡單的輪播圖,下面介紹下製作過程,以便記憶。 說到輪播圖,就必須要了解下swiper(滑塊檢視容器),具體用法微信公眾平臺介紹的很詳細,

技術記錄微信程式客服功能

程式做到上線,必不可缺的便是使使用者在使用你製作的程式時,能夠反饋回一些建議,這就需要客服的功能了。 客服功能,官方微信上有提供專門的元件,如下: 客服訊息會話入口有兩個: 1、小程式內:開發者在小程式內新增客服訊息按鈕元件,使用者可在小程式內喚起客服會話頁面,給小程式發訊息; 2、已使

技術記錄微信程式頂部導航欄

現在來說說頂部導航欄的程式碼,先來看看簡單的頂部導航欄的截圖: 可以從上面的圖片看到有寫著[簡介]和[試看]的導航欄內容,下面來記錄下程式碼過程: wxml <!--導航條--> <view class="navbar"> <text wx:for

使用Taro框架開發程式

最近一直在做小程式專案的開發,上手直接就是wepy, 風格跟vue差不多,整體上,還算穩定,開發起來比原生的效率要高一點;很多人也知道,mpvue就是用vue搭建的,但始終覺得,失去了路由的vue,就像失去了靈魂;雖然接下來要給大家安利的框架,也貌似失去了該靈魂

spring httpinvoker入門程式

背景瞭解: Httpinvoker是SpringFramework提供的遠端通訊協議,只能用於JAVA程式間的通訊,且服務端和客戶端必須使用SpringFramework。 1、在springfra

【微信程式控制硬體②】 開始微信程式旅,匯入程式Mqtt客戶端原始碼,實現簡單的驗證和通訊於伺服器!(附帶原始碼)

本博文由熱愛分享熱愛技術的半顆心臟原創,非官方人員、非組織名義編寫,博文如有不對或侵犯您的權益,請及時留言,第一時間糾正! 一、前言; 繼續我們的小程式控制智慧硬體(包括esp8266)學

敏捷開發Scrum框架入門

最近實習的公司採用的是敏捷開發Scrum模式,在經歷敏捷開發培訓後,寫寫一些自己學到的東西。 一、什麼是敏捷開發 敏捷開發是針對傳統的瀑布開發模式的弊端而產生的一種新的開發模式,目標是提高開

C++入門程式練習

初識C++,向大家介紹幾個我用來做練習編寫的幾道小程式,都是C++Primer上面的練習題,分享給大家。eg1:編寫程式,使用遞減運算子在迴圈中按遞減順序打印出10到1之間的整數。程式碼如下:#include<iostream> #include<cstdl

零基礎入門程式 & 實戰經驗分享

點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事講師介紹:連勝老師曾經

(三)WebServiceCXF釋出Web服務

1.引言       Apache CXF 是一個開源的 Services 框架,利用CXF可以釋出SOAP型別的服務,也可以釋出rest型別的服務。CXF還可以和Spring無縫整合。 2.CXF釋出服務 首先引用cxf的jar包

Win10作業系統下,Java環境變數的配置和Java入門程式“hello,world”的編譯

一:首先要下載並安裝JDK 二:配置環境變數及class,path的值   找到單擊右鍵->屬性,進入下圖頁面:         點選”高階”,進入下圖頁面, 點選”環境變數”,如下圖:      點選“新建”,然後按

微信程式開發手記七:一個程式上線後的總結(上)

終於,經過大概一週時間,磕磕絆絆地提交稽核了,一個移動猿開發小程式,也算有了些心得,也遇到了些坑,這裡和大家一起分享下。 怎麼樣調佈局 先說一個題外話,最後引入正題。 如果翻看過一些資料,大家肯定很容易會發現一件事,那就是關於image標籤的預設寬高,