成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

RPC框架是啥之Apache CXF一款WebService RPC框架入門教程

SolomonXie / 1975人閱讀

摘要:支持相關(guān)規(guī)范和標(biāo)準(zhǔn),包括同上。支持多種傳輸協(xié)議和協(xié)議綁定數(shù)據(jù)綁定。構(gòu)建端還有其服務(wù)實(shí)現(xiàn),接口使用注解,標(biāo)明是一個(gè)遠(yuǎn)程服務(wù)接口。然后編寫一個(gè)的啟動(dòng)程序,并運(yùn)行,我想你會(huì)成功的因?yàn)槲铱吹搅讼聢D是一種跨平臺(tái)的技術(shù)協(xié)議。

本博客 貓叔的博客,轉(zhuǎn)載請(qǐng)申明出處
學(xué)習(xí)系列

RPC框架是啥?

RPC框架是啥之Java自帶RPC實(shí)現(xiàn),RMI框架入門

Apache CXF一款WebService RPC框架入門教程
CXF官網(wǎng):http://cxf.apache.org/

Apache CXF是一個(gè)開源的WebService RPC框架,是由Celtix和Codehaus XFire合并而成的。它可以說是一個(gè)功能齊全的集合。

功能特性:

支持Web Service標(biāo)準(zhǔn),包括SOAP(1.1、1.2)規(guī)范、WSI Basic Profile...等等我也不了解的,這里就不一一舉例了。

支持JSR相關(guān)規(guī)范和標(biāo)準(zhǔn),包括....同上。

支持多種傳輸協(xié)議和協(xié)議綁定(SOAP、REST/HTTP、XML)、數(shù)據(jù)綁定(JAXB2.X、Aegis、Apache XML Beans)。

還是先從案例入手吧
項(xiàng)目源碼地址:RPC_Demo,記得是項(xiàng)目里面的comgithubcxf

1、使用IDEA構(gòu)建一個(gè)maven項(xiàng)目,我選擇了maven-archetype-webapp構(gòu)建基本框架。當(dāng)然你可能還需要?jiǎng)?chuàng)建一些目錄

2、我想是時(shí)候先配置好主要的pom文件了。




  4.0.0

  cxf
  comgithubcxf
  1.0-SNAPSHOT
  war

  comgithubcxf Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
    3.1.7
    4.0.9.RELEASE
  

  
    
      org.springframework
      spring-context
      ${spring.version}
    
    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      org.springframework
      spring-context-support
      ${spring.version}
    
    
      org.apache.cxf
      cxf-rt-frontend-jaxws
      ${cxf.version}
    
    
      org.apache.cxf
      cxf-rt-transports-http
      ${cxf.version}
    
    
      org.apache.cxf
      cxf-rt-transports-http-jetty
      ${cxf.version}
    
    
      junit
      junit
      4.11
      test
    
  

  
    comgithubcxf
    
      
        
          maven-clean-plugin
          3.1.0
        
        
        
          maven-resources-plugin
          3.0.2
        
        
          maven-compiler-plugin
          3.8.0
        
        
          maven-surefire-plugin
          2.22.1
        
        
          maven-war-plugin
          3.2.2
        
        
          maven-install-plugin
          2.5.2
        
        
          maven-deploy-plugin
          2.8.2
        
      
    
  

3、構(gòu)建Server端還有其服務(wù)實(shí)現(xiàn),接口使用@WebService注解,標(biāo)明是一個(gè)WebService遠(yuǎn)程服務(wù)接口。

package com.github.cxf.server;

import javax.jws.WebService;

/**
 * Create by UncleCatMySelf in 21:57 2019423 0023
 */
@WebService
public interface CxfService {

    String say(String someOne);

}

在實(shí)現(xiàn)類上也同樣加上,并通過endpointInterface標(biāo)明對(duì)接的接口實(shí)現(xiàn)

package com.github.cxf.server;

import javax.jws.WebService;

/**
 * Create by UncleCatMySelf in 21:57 2019423 0023
 */
@WebService(endpointInterface = "com.github.cxf.server.CxfService")
public class CxfServiceImpl implements CxfService {
    @Override
    public String say(String someOne) {
        return someOne + ",Welcome to Study!";
    }
}

4、編寫對(duì)應(yīng)的cxf-server.xml文件(核心點(diǎn)),這里我參考了官網(wǎng)的案例





    
    
    

        

5、然后就是我們的web.xml文件了,




  Archetype Created Web Application
  
    contextConfigLocation
    classpath:cxf-server.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    CXFServer
    org.apache.cxf.transport.servlet.CXFServlet
    1
  
  
    CXFServer
    /ws/*
  

6、配置tomcat,由于我是IDEA的環(huán)境,所有我就截圖給大家看看


然后啟動(dòng)tomcat即可,如果一起正常的話,老干媽保佑!

7、訪問測(cè)試服務(wù)端,這時(shí)我們可以訪問http://localhost:8080/ws/server?wsdl,如果你看到了一下的畫面,就是啟動(dòng)成功!

8、服務(wù)端就先讓它運(yùn)行著,接著我們?cè)谕粋€(gè)項(xiàng)目里面創(chuàng)建客戶端的,這個(gè)比較簡單,你可以先準(zhǔn)備一個(gè)cxf-client.xml文件,配置對(duì)應(yīng)的WebService服務(wù)接口,確定訪問的地址,注意是HTTP地址哦,WebService就是采用HTTP協(xié)議通信的。





    
    
        
        
    

        

9、然后編寫一個(gè)client的啟動(dòng)程序,并運(yùn)行,我想你會(huì)成功的!因?yàn)槲铱吹搅讼聢D!

package com.github.cxf.client;

import com.github.cxf.server.CxfService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Create by UncleCatMySelf in 21:56 2019423 0023
 */
public class CxfClient {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:cxf-client.xml");
        CxfService client = (CxfService)context.getBean("client");
        System.out.println(client.say("MySelf"));
    }
}

WebService 是一種跨平臺(tái)的RPC技術(shù)協(xié)議。

公眾號(hào):Java貓說

學(xué)習(xí)交流群:728698035

現(xiàn)架構(gòu)設(shè)計(jì)(碼農(nóng))兼創(chuàng)業(yè)技術(shù)顧問,不羈平庸,熱愛開源,雜談程序人生與不定期干貨。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74263.html

相關(guān)文章

  • RPC框架啥之Java自帶RPC實(shí)現(xiàn),RMI框架入門

    摘要:讓我們優(yōu)先來實(shí)現(xiàn)一個(gè)的案例吧。為了防止被防火墻攔截,需要強(qiáng)制制定的通信端口,一般通過自定義一個(gè)類來實(shí)現(xiàn)。完美支持語言所獨(dú)有的特性,不支持其他語言。使用了原生序列化,所有序列化對(duì)象必須實(shí)現(xiàn)接口。 本博客 貓叔的博客,轉(zhuǎn)載請(qǐng)申明出處 學(xué)習(xí)系列 RPC框架是啥? Java自帶RPC實(shí)現(xiàn),RMI框架入門 首先RMI(Remote Method Invocation)是Java特有的一種RPC實(shí)...

    ZHAO_ 評(píng)論0 收藏0
  • 也來談?wù)?em>RPC

    摘要:前言,顧名思義即遠(yuǎn)程過程調(diào)用,可以說是分部式應(yīng)用的基礎(chǔ),也是概念中的核心部分。對(duì)于來說,可以分為之間的調(diào)用與和其他平臺(tái)之間的調(diào)用。和分別代表了這兩種模式。 前言 RPC,顧名思義即遠(yuǎn)程過程調(diào)用,可以說是分部式WEB應(yīng)用的基礎(chǔ),也是SOA概念中的核心部分。對(duì)于J2EE來說,可以分為JVM之間的調(diào)用與和其他平臺(tái)之間的調(diào)用。前者主要是RMI,而后者則五花八門,比如Apache的Thrift...

    NSFish 評(píng)論0 收藏0
  • Java 應(yīng)用一般架構(gòu)

    摘要:服務(wù)提供方對(duì)外發(fā)布服務(wù),服務(wù)需求方調(diào)用服務(wù)提供方所發(fā)布的服務(wù)。應(yīng)用服務(wù)器通過統(tǒng)一數(shù)據(jù)訪問模塊訪問各種數(shù)據(jù),減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。 原文地址:https://blog.coding.net/blog/General-architecture-for-Java-applications 當(dāng)我們架設(shè)一個(gè)系統(tǒng)的時(shí)候通常需要考慮到如何與其他系統(tǒng)交互,所以我們首先需要知道各種系統(tǒng)之間是...

    sunnyxd 評(píng)論0 收藏0
  • WebService就是這么簡單

    摘要:它使用方式,接收和響應(yīng)外部系統(tǒng)的某種請(qǐng)求?;仡櫸覀?cè)趯W(xué)習(xí)基礎(chǔ)網(wǎng)絡(luò)編程章節(jié)已經(jīng)知道了這么一個(gè)連接了。使用指定名稱的命名空間。名詞簡單對(duì)象訪問協(xié)議作為一個(gè)基于語言的協(xié)議用于有網(wǎng)上傳輸數(shù)據(jù)。以的根元素出現(xiàn)。代理這么一個(gè)概念就更加清晰了。 WebService介紹 首先我們來談一下為什么需要學(xué)習(xí)webService這樣的一個(gè)技術(shù)吧.... 問題一 如果我們的網(wǎng)站需要提供一個(gè)天氣預(yù)報(bào)這樣一個(gè)需求...

    SwordFly 評(píng)論0 收藏0
  • Java系統(tǒng)WebService:Spring與CXF的集成

    摘要:我們?cè)偈褂眠@樣的來查看這個(gè)服務(wù)具體的定義這個(gè)用以通過查看服務(wù)也就是我們開頭所說的用通用格式來描述的功能入?yún)⒑头祷刂?,使我們的調(diào)用者明白服務(wù)的使用方法具體詳情可以查看我們的這個(gè)服務(wù)的頁面。 WebService是什么呢?顧名思義,是Web系統(tǒng)提供的服務(wù),其目的呢,往大了說:是系統(tǒng)實(shí)現(xiàn)多異構(gòu)模塊協(xié)同合作,服務(wù)實(shí)現(xiàn)SOA(Services oriented Architecture面向服務(wù)的...

    waterc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<