2012年4月17日 星期二

轉貼 WSDL CLient in JAVA

WSDL 是一種網路服務傳送接收的方法,以XML 樣視為基礎的溝通方式[1],

關於建立的方式這裡就不介紹了,以client 端為主, 詳細流程不多說,

搜尋 wsdl eclipse clinet 就能找到相關的資料了,值得提醒的地方就是大部分都是用 AXIS2 來搭配解析[2], 在 eclipse 中要使用的話要先下載後在設定路徑 , Windows->Preference->Web Services,  AXIS2 載點(http://axis.apache.org/axis2/java/core/download.cgi)。




















圖一,設定AXIS

此外還有,
a. 在有限制的環境下,要套用proxy.
b. 也可以使用 AXIS 的方式取得 WSDL, AXIS 至少在 eclipse3.6 是內建的


以下簡介使用的步驟:

  • 新增web專案TEST_WSDL_Client,我是使用 Dynamic Web Project, static project 應該也可以吧。
  • 在TEST_WSDL_Client專案下新增 Web Service Client 如圖二。
  • 設定 Web Service Client,Service definition 輸入 WSDL 的網址, Configuration 設定AXIS2,預設是AXIS,設定畫面如圖三。
  • 若是在有proxy 的環境下記得設定proxy,接者按下一步應該就可以產生相關的java class 了
















圖二,新增WSDL Client














圖三,選擇輸入WSDL 服務的網址,設定APACHE 和 AXIS2 的server





補充 , 若要將產生的class 檔 在 client 端程式使用,必須使用 AXIS2 的lib ,不過查詢一下找到精簡的jar 清單[3], 清單如下:


  • axiom-api-1.2.12.jar
  • axiom-impl-1.2.12.jar
  • axis2-adb-1.6.1.jar
  • axis2-kernel-1.6.1.jar
  • axis2-transport-http-1.6.1.jar
  • axis2-transport-local-1.6.1.jar
  • axis2-xmlbeans-1.6.1.jar (optional)
  • commons-codec-1.3.jar
  • commons-httpclient-3.1.jar
  • commons-logging-1.1.1.jar
  • httpcore-4.0.jar
  • mail-1.4.jar
  • neethi-3.0.1.jar
  • woden-api-1.0M9.jar
  • woden-impl-dom-1.0M9.jar
  • wsdl4j-1.6.2.jar
  • wstx-asl-3.2.9.jar
  • xmlbeans-2.3.0.jar (optional)
  • XmlSchema-1.4.7.jar




參考:
[1] WSDL,wiki
[2] AXIS2
[3] Minimum set of jar files for Apache Axis2 1.6.1

沒有留言: