1. 程式人生 > >【EJB系列】(五)——EJB與WebService

【EJB系列】(五)——EJB與WebService

什麼是Web Service

Web Service是一項基於XML的分散式實現技術。
以SOAP協議作為網路通訊協議,以XML文件作為資料交換格式。
允許不同平臺、不同語言的應用程式之間相互呼叫。

綜上,WebService 與程式語言無關,與平臺無關,只要我們把應用程式釋出成WebService方式的服務,只要許可權允許,誰都可以呼叫。

JavaEE對Web Service的支援

JAX-WS規範

用EJB開發一個WebService

EJB實現類

@Stateless
@WebService
public class UserManagerBean
implements UserManager {
@WebMethod public void addUser(User user) { System.out.println("user.username="+user.getUsername()); user.setId(9); } @WebMethod public String sayHello(String name) { return "你好,"+name; } }

注意:

必須是無狀態的會話Bean
實體不需要實現序列化介面,因為通過XML方式傳遞。
@WebService

@WebMethod註解

然後,將專案部署到JBOSS中,之後會在你的Jboss安裝路徑下的standalone/data/wsdl/路徑下有如下檔案

這裡寫圖片描述

Web Service 客戶端

建立Java Project
建立一個package,如:com.tgb.ejb
建立一個Class

    這裡寫圖片描述

圖片中的WSDL File即上文中提到.wsdl檔案的路徑

這裡寫圖片描述

這裡大家會看到剛才提到的JAX-WS規範

這裡寫圖片描述

之後,會在客戶生成很多代理類:

這裡寫圖片描述

編寫客戶端:

public class UserManagerBeanServiceClient {
    public
static void main(String[] args){ UserManagerBeanService client=new UserManagerBeanService(); UserManagerBean service=client.getUserManagerBeanPort(); String s=service.sayHello("xcy"); System.out.println(s); User user=new User(); user.setUsername("xcy"); service.addUser(user); } }

總結

在EJB的基礎上,將EJB轉化成WebService很方便,只需新增兩個註解即可。

相關推薦

EJB系列——EJBWebService

什麼是Web Service Web Service是一項基於XML的分散式實現技術。 以SOAP協議作為網路通訊協議,以XML文件作為資料交換格式。 允許不同平臺、不同語言的應用程式之間相互呼叫。 綜上,WebService 與程式語言

WCF系列為什麽我們需要WCF

企業網 密碼 統一 兼容 erp service mage 數據完整性 圖片 為什麽我們需要WCF 傳統分布式軟件的架構分析 一個開發需求:社保平臺 訪問量較大客戶端類型/平臺多和其他系統交互多快速開發/部署結構復雜(B/S、C/S、桌面、服務…) 傳

WCF系列如何配置和承載服務

支持 一個 地址 BE eof spa 介紹 alt contract 如何配置和承載服務 配置綁定 配置服務:任務 為什麽要配置服務:在設計和實現服務協定後,即可配置服務。 在其中可以定義和自定義如何向客戶端公開服務指定可以找到服務的地址、服務用於發送和接收消息的傳

WCF系列WCF客戶端怎麽消費服務

class fig 完全 文件 自動 客戶 回收 ins 必須 WCF客戶端怎麽消費服務 獲取服務綁定協議、綁定和地址:實現方式 SvcUtil方式:SvcUtil.exe是一個命令行工具,位於:C:\Program Files (x86)\Microsoft SDKs

Unity Shader ------ 透明效果之半透明效果的實現及原理

pic sele 不同的 %20 分享圖片 渲染 select fall 就是 筆者使用的是 Unity 2018.2.0f2 + VS2017,建議讀者使用與 Unity 2018 相近的版本,避免一些因為版本不一致而出現的問題 【Unity Shader學習筆記

GLSL教程卡通著色

引言卡通著色可能是最簡單的非真真實模式shader。它使用很少的顏色,通常是幾種色調(tone),因此不同色調之間是突變的效果。下圖顯示的就是我們試圖達到的效果:茶壺上的色調是通過角度的餘弦值選擇的,這個角度是指光線和麵的法線之間的夾角角度。如果法線和光的夾角比較小,我們使用較亮的色調,隨著夾角變大

Java系列Java圖形化介面設計——中間容器Jpanel

Swing 程式用JFrame 物件實現了它們的視窗。JFrame 類是AWT Frame 類的一個子類。它還加入了一些Swing 所獨有的特性。與 Frame 的使用十分相似。唯一的區別在於,你不能將元件加入到JFrame中。你可以或者將元件加入到JFrame 的co

AOP系列—AOP相關概念

前提   在閱讀本篇博文之前,請先閱讀上篇博文【AOP系列】(一)—靜態代理VS動態代理(Java) ,因為下文中在解釋一些概念時,會用到上篇博文中的例子。 思維導圖 概念解釋

Hibernate系列:事務的應用

需求   新增訂單成功後,需要將購物車中的商品清空,這兩個操作要麼都執行,要麼都不執行。這時,就用到了事務。 使用 1.配置 在hibernate.cfg.xml中新增 <!--使用currentSession配置事務--

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月12日14:28:10 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NOIP2016模擬賽Jams 倒酒(pour) - 擴展歐幾裏得

.com 要求 mes 最大公約數 clas pan can http || Problem Pour 題目大意 一個人要用兩個裝水量一定的杯子互相倒水,求最後能搞出來最少的水量是多少以及倒的次數。 Solution 我們不知道為什麽突然就發現了這個最少的水量一定就

Android開發—智能家居系列:用手機對WIFI模塊進行配置

名稱 ash 端口 clas 方式 mac class 二階 target 【Android開發—智能家居系列】(二):用手機對WIFI模塊進行配置 http://blog.csdn.net/u010924834/article/details/4949672

JMeter4.0學習JMeter對服務器監控測試腳本開發

AD extras serve 1.4 gen ext extra pan AS 本文主要來說一下如何通過JMeter插件來監控服務器CPU、內存、磁盤、網絡等相關資源。 首先,需要下載相關JMeter插件: JMeterPlugins-Standard-1.4.0.z

完全分散式Hadoopjdk1.8環境安裝

1.、下載jdk1.8   有些Centos系統可能已經有openjdk了,但是為了更清晰的瞭解我們的環境,我們一般採用二進位制包,進行環境配置   解除安裝系統自帶的openjdk rpm -e --nodeps `rpm -qa | grep java`   CDH官方ha

Android開發—智慧家居系列:UDP通訊傳送指令

【Android開發—智慧家居系列】(四):UDP通訊傳送指令   思路回顧 【1】手機連線WIFI模組  【2】UDP通訊對WIFI模組傳送指令,以和WIFI模組保持連線狀態  【3】UDP通訊對WIFI模組傳送指令,讓其搜尋可用的無線網,返回WIFI列表

Android開發—智慧家居系列:手機連線WIFI模組

【Android開發—智慧家居系列】(三):手機連線WIFI模組   概述   實現連線WIFI的功能會用到一個工具類,原始碼可以點選連結下載。網上這些類似的工具類裡的程式碼差不多是一樣的。連線無線網主要有兩個方法:    其中有一個Connect方法,還有一

Android開發—智慧家居系列:用手機對WIFI模組進行配置

【Android開發—智慧家居系列】(二):用手機對WIFI模組進行配置   版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u010924834/article/details/49496729   在實際開發中,我開

ElasticSearch“Result window is too large & 深度分頁”的利弊權衡

    如題,在使用elastic search的dsl查詢過程中,遇到了如下問題: { "error": { "root_cause": [{ "type": "query_phase_execution_exception", "reason": "Re

Android自助餐Handler訊息機制完全解析鳥瞰總結

Android自助餐Handler訊息機制完全解析(五)鳥瞰與總結 Android自助餐Handler訊息機制完全解析五鳥瞰與總結 Message MessageQueue Handler Looper

Android開發—智慧家居系列:智慧家居原理

  ①.通過手機端APP中的配置程式,配置模組要連線的路由器的名稱(SSID)和金鑰;    ②. 將WIFI模組連線路由器,路由器通過外網連線到伺服器,如小米的伺服器。完成連線工作。    ③.手機等控制終端連線遠端伺服器,下達命令;    ④.遠端伺服器將使用者指令下發給住宅中的WiFi插座    ⑤.W