問題. 什么是 Java API for XML-Based RPC(JAX-RPC)?
答. Java API for XML-Based RPC(JAX-RPC)使得 Java 技術(shù)開發(fā)人員使用基于 XML 的 RPC 功能構(gòu)建 Web 應(yīng)用程序和 Web 服務(wù),此功能遵循 SOAP(簡單對象訪問協(xié)議,Simple Object Access Protocol)1.1 規(guī)范。
問題. JAX-RPC 如何使用 SOAP ?
答. 請參考 JSR-101 。
問題. 什么是 RPC?
答. RPC 代表遠(yuǎn)程過程調(diào)用(remote procedure call),它是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機(jī)制。RPC 機(jī)制常用于分布式客戶端/服務(wù)器模型。服務(wù)器將服務(wù)定義為一系列過程,可供遠(yuǎn)程客戶端調(diào)用。
問題. XML 如何與 RPC 相關(guān)聯(lián)?
答. 遠(yuǎn)程過程調(diào)用是由基于 XML 的協(xié)議來表示的,比如 SOAP 。除了定義信封結(jié)構(gòu)和編碼規(guī)則之外,SOAP 規(guī)范還定義了遠(yuǎn)程過程調(diào)用和響應(yīng)的表示慣例。
問題. 對于 Web 服務(wù),JAX-RPC 必須做哪些工作?
答. 一個基于 XML 的 RPC 服務(wù)器應(yīng)用程序可以定義、描述和導(dǎo)出一個的 Web 服務(wù),如同基于 RPC 的服務(wù)一樣。WSDL(Web 服務(wù)描述語言,Web Service Description Language HP0-922 )定義了一種 XML 格式,將服務(wù)描述為一組消息操作的端點(diǎn)集合。通過使用 JAX-RPC API ,開發(fā)人員可以用 WSDL 描述來實(shí)現(xiàn)客戶端和服務(wù)。
問題. 客戶端與 JAX-RPC 服務(wù)之間采用什么交互模式?
答. 有以下三種不同的模式:
1. 同步請求-響應(yīng)(Synchronous Request-Response):客戶端調(diào)用遠(yuǎn)程程序并阻塞,直到它收到一個返回值或異常。
2. 單向 RPC(One-Way RPC):客戶端調(diào)用遠(yuǎn)程過程,但自身不阻塞或等待直到收到一個返回值。JAX-RPC 客戶端的運(yùn)行時系統(tǒng)可能會拋出異常。
3. 非阻塞 RPC 調(diào)用(Non-Blocking RPC Invocation 190-823 1Y0-614):客戶端調(diào)用遠(yuǎn)程過程,并繼續(xù)處理同一個線程的內(nèi)容而不等待返回值。此后,客戶端通過阻塞來接受返回值或輪詢返回值,以此來處理遠(yuǎn)程方法的返回。
問題. 遠(yuǎn)程方法調(diào)用或響應(yīng)能否傳送服務(wù)內(nèi)容信息?
答. 是的。例如它可能會傳送唯一的事務(wù)標(biāo)識符或數(shù)字簽名。
問題. 為什么 xrpcc 沒有生成 WSDL 文件?
答. xrpcc 工具實(shí)際上可以生成 WSDL 文件,但由于設(shè)計失誤,如果不指定 –keep 選項(xiàng),該文件會同源文件一起被刪除。您可以使用 –keep 選項(xiàng)讓 xrpcc 不刪除 WSDL 或 .java 源文件。如果您使用 –s sourcepath 選項(xiàng),所有源文件將被放置在 sourcepath 目錄中,然后您可以很容易地刪除它們。 WSDL 文件將被放置在當(dāng)前目錄或由 –d 選項(xiàng)指定的目錄中。
答. Java API for XML-Based RPC(JAX-RPC)使得 Java 技術(shù)開發(fā)人員使用基于 XML 的 RPC 功能構(gòu)建 Web 應(yīng)用程序和 Web 服務(wù),此功能遵循 SOAP(簡單對象訪問協(xié)議,Simple Object Access Protocol)1.1 規(guī)范。
問題. JAX-RPC 如何使用 SOAP ?
答. 請參考 JSR-101 。
問題. 什么是 RPC?
答. RPC 代表遠(yuǎn)程過程調(diào)用(remote procedure call),它是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機(jī)制。RPC 機(jī)制常用于分布式客戶端/服務(wù)器模型。服務(wù)器將服務(wù)定義為一系列過程,可供遠(yuǎn)程客戶端調(diào)用。
問題. XML 如何與 RPC 相關(guān)聯(lián)?
答. 遠(yuǎn)程過程調(diào)用是由基于 XML 的協(xié)議來表示的,比如 SOAP 。除了定義信封結(jié)構(gòu)和編碼規(guī)則之外,SOAP 規(guī)范還定義了遠(yuǎn)程過程調(diào)用和響應(yīng)的表示慣例。
問題. 對于 Web 服務(wù),JAX-RPC 必須做哪些工作?
答. 一個基于 XML 的 RPC 服務(wù)器應(yīng)用程序可以定義、描述和導(dǎo)出一個的 Web 服務(wù),如同基于 RPC 的服務(wù)一樣。WSDL(Web 服務(wù)描述語言,Web Service Description Language HP0-922 )定義了一種 XML 格式,將服務(wù)描述為一組消息操作的端點(diǎn)集合。通過使用 JAX-RPC API ,開發(fā)人員可以用 WSDL 描述來實(shí)現(xiàn)客戶端和服務(wù)。
問題. 客戶端與 JAX-RPC 服務(wù)之間采用什么交互模式?
答. 有以下三種不同的模式:
1. 同步請求-響應(yīng)(Synchronous Request-Response):客戶端調(diào)用遠(yuǎn)程程序并阻塞,直到它收到一個返回值或異常。
2. 單向 RPC(One-Way RPC):客戶端調(diào)用遠(yuǎn)程過程,但自身不阻塞或等待直到收到一個返回值。JAX-RPC 客戶端的運(yùn)行時系統(tǒng)可能會拋出異常。
3. 非阻塞 RPC 調(diào)用(Non-Blocking RPC Invocation 190-823 1Y0-614):客戶端調(diào)用遠(yuǎn)程過程,并繼續(xù)處理同一個線程的內(nèi)容而不等待返回值。此后,客戶端通過阻塞來接受返回值或輪詢返回值,以此來處理遠(yuǎn)程方法的返回。
問題. 遠(yuǎn)程方法調(diào)用或響應(yīng)能否傳送服務(wù)內(nèi)容信息?
答. 是的。例如它可能會傳送唯一的事務(wù)標(biāo)識符或數(shù)字簽名。
問題. 為什么 xrpcc 沒有生成 WSDL 文件?
答. xrpcc 工具實(shí)際上可以生成 WSDL 文件,但由于設(shè)計失誤,如果不指定 –keep 選項(xiàng),該文件會同源文件一起被刪除。您可以使用 –keep 選項(xiàng)讓 xrpcc 不刪除 WSDL 或 .java 源文件。如果您使用 –s sourcepath 選項(xiàng),所有源文件將被放置在 sourcepath 目錄中,然后您可以很容易地刪除它們。 WSDL 文件將被放置在當(dāng)前目錄或由 –d 選項(xiàng)指定的目錄中。