2010年2月21日 星期日

Web Services兩三事

在陰冷的寒假的晚上為了產學案在測試如何方便的製作Web Service的JAVA程式, 網路上的文件大多來自這裡, 但一開始試(當然沒有都照著作...)有一些問題, 最後整理了一些小地方
1. TOMCAT要裝好, 如果多裝了幾次, 注意一下會不會有重覆的TOMCAT在跑, 以及到底發佈到哪裡去了
2. 用TOMCAT的Manager來發佈, 雖然第一次會比較麻煩, 但要新增operation會簡單很多
3. 把真正的程式用一個class來代表, 可以先在JAVA Application裡測試正常再加至Web Services, 然後在NET BEANS裡用Eepty Web Service(HelloAxisWorld)來當主程式,不需要特別去做兩個不同的Project,但實際執行Java application跟Web Service是兩個實體要注意. 另外不需要產生WSDL(還是可以由axis的ListService來產生), 在Netbeans裡產生反而會有參數傳遞的問題
4. 新增的空白類別就是入口,在它的建構子裡new真的程式物件再逐一加上呼叫的對口.不要用void當傳回值,如果沒有特別要傳回的就用boolean傳個true吧.
5. 在Netbeans裡要刪掉Web Service重作會把對應的class也宰了, 所以如果需要要先備份
在Netbeans裡作Client就簡單多了, 只要在專案新增一個Client,在對話窗填該填的, 不要勾"genarate dispatch code", 再找一個副程式, 在編輯區中按滑鼠右鍵選最底下的call web services, 再挑一個版本(axis是1.2)跟一個方法, 就會產生幾行sample code, 前兩行算是基本物件, 第二行的port就是對應的物件, 所有的方法都包在裡面, 其他方法使用就跟產生的sample code類似了