首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

初識 WebService:技術架構、核心協議(XML、SOAP、WSDL、UDDI)與 JAX-WS/CXF 實戰

     編輯:Java 綜合教學

初識 WebService

一、神秘的 WebService

Web Service 是平台無關、低耦合、自包含的可編程 Web 應用,基於 XML 標準實現異構系統間的數據交換與集成,無需第三方軟硬件支持。易於部署,降低接口成本,為企業級業務流程集成提供通用機制。

二、技術支撐體系

WebService技術棧

  • XML/XSD:數據表示與類型系統標準,平台無關
  • SOAP:輕量級協議,定義消息封裝、對象編碼、RPC 調用約定,可運行於 HTTP/SMTP 等傳輸層
  • WSDL:基於 XML 的服務描述語言,定義操作、消息、綁定、端點,機器可讀亦人可讀
  • UDDI:服務註冊發現中心,電子商務標準

三、為什麼需要 Web 服務

  • 解決 Internet 應用間交互難題
  • 化解異構系統集成危機
  • 優勢:跨平台、跨語言、標準化、鬆耦合

WebService優勢

四、Web 基礎技術

  1. TCP/IP:通用網絡協議
  2. HTML:通用界面
  3. .NET:數據共享
  4. Java:跨平台語言
  5. XML:通用數據表達

五、項目實戰:JAX-WS 發布與調用

1. 發布服務

@WebService
public class HelloService {
    public void say(String name) { System.out.println("Hello " + name); }
    public static void main(String[] args) {
        Endpoint.publish("https://localhost:50000/hello", new HelloService());
        System.out.println("server is listening ....");
    }
}

驗證:瀏覽器訪問 https://localhost:50000/hello?wsdl 可見 WSDL 文檔。

2. 調用服務(兩種方式)

方式 A:MyEclipse 向導生成客戶端代碼(圖示步驟省略)

方式 B:wsimport 命令生成客戶端存根

wsimport -keep https://localhost:50000/hello?wsdl

生成包含 HelloService、HelloServiceService、ObjectFactory、Say、SayResponse 等類。

客戶端調用:

HelloServiceService service = new HelloServiceService();
HelloService port = service.getHelloServicePort();
port.say("坤坤");

3. CXF 實現(未完待續)

後續將補充 Apache CXF 的發布與調用示例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved