萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> 通過PL/SQL訪問Web Services

通過PL/SQL訪問Web Services

在Web Services紅得發紫的今天,到處都在談論和使用Web Services;當然,其中有不小一部分是屬於業界炒作。Oracle也始終走在技術的最前沿,早在9i時代就發布了擴展包來支持PL/SQL訪問Web Services,並且在Oracle 10g版本中使得該功能變得更加強大;這都源於引入了UTL_DBWS包,其實它是封裝了JPublisher,使得PL/SQL開發者只需要使用簡單的幾個API就能調用Web Services了。 下面我將通過一個實例向你展示如何通過PL/SQL調用Web Services,本文的重點是PL/SQL調用Web Services實現上,對於如何發布Web Services,你可以參考本人的另一篇基礎性文章《用OC4J和Axis構建Web Services》或者其他參考資料。

首先,我們來搭建運行環境吧,你得從Oracle OTN下載並安裝Oracle Database(企業版、標准版、個人版均可,但切勿安裝快捷版,因為它沒有提供sqlj組件及相關命令)。如果你已安裝好該數據庫,可跳過該步驟。

然後,需要下載對應版本的UTL_DBWS:

Pre 10g: dbws-callout-utility.zip

10g: dbws-callout-utility-10R2.zip

下載完成後,需要解壓該文件到<oracle_install_dir>/sqlj/lib目錄下,我們還需要使用loadjava將這些jar文件加載到SYS schema中,供所有用戶使用該擴展包,命令如下:

<oracle_install_dir>/bin/loadjava -u sys/password -r -v -f -s -grant public -noverify -genmissing <oracle_install_dir>/sqlj/lib /dbwsclient.jar

其實在Oracle的文檔中是聲稱10g是自帶UTL_DBWS包的,不過我下載最新的Oracle並完全安裝後,也沒有發現UTL_DBWS的半點蹤影,也只好自己拷貝並執行loadjava了。

好了,現在萬事俱備,只剩寫程序測試了,在編碼測試之前,我們假設你已經將《用OC4J和Axis構建Web Services》文章裡hellows已經部署好了,並能正常的調用sayHello方法了;當然,你發布其他的Web Services服務也同樣可行的。下面我們就創建一個function來進行測試,測試代碼如下:

  • 共2頁:
  • 上一頁
  • 1
  • 2
  • 下一頁
copyright © 萬盛學電腦網 all rights reserved