2013年3月15日 星期五

Deploying Axis web service fail on eclipse

如題。最近在下因為工作需求,要來用用axis的web service了。server端、client端都用上了。

client端的使用還算順利。使用eclipse的工具就能把client的類別建立起來了。網路上資料一堆,需要的可以自行去找。

問題就發生在server端。

server端的做法用工具也很簡單。比如:大笨鳥的私房菜 就有介紹。

不知道何,透過工具建server端時,無論怎麼建立,最後都會卡在部署(deployment)的時候。

一開始,在下以為是網路的問題,因為錯誤訊息為HTTP 500、connect timeout。由於jackmis目前人在大陸的關係(是的,翻牆來寫這篇),因此心想可能什麼東西被偉大的長城擋下來了。於是在下試著『讓eclipse翻牆』;但是一點效果也沒有。

後來在翻牆軟體上看到請求的http request竟然是打向本機;這表示網路沒有問題,因為是連本機;而是本機一支註冊Web service的服務(axis提供的)竟然出現內部錯誤(HTTP 500)。

這很鳥...應該不是我的問題。

上網找了很多,有的寫說Axis的jar要調整,但大多都是問了卻沒下文。很煩,我試了4、5hr。

最後只好用個人覺得最笨的方法...

在下目前用的eclipse是4.x版。我記得舊版是ok的,以前在下實作過。因此我上eclipse官網抓了個3.5.1版,和前面分享的  大笨鳥大大範例中的一樣。

然後就ok了。

在3.5.1產生出來的設定可以直接COPY到4.x版去用。

雖然上面寫的解法有點半調整。但也不失為一招。
絕望而找到這篇草書的開發人員呀,請接受這小小的賤招吧。

若有大大知道更完整的解法,請不吝分享。

共勉之

20130319
今天又發現無法建立webservice。幾經測試後決定在VM裡建立「溫室」來做開發環境。但是在建立開發環境時,我發現到真相應該是防毒軟體的防火牆...