這幾天在圖書館看到了一本書《Java SOAP編程指南》,出于對正興起的web service的好奇,借了回來。看了一下SOAP的介紹,沒太明白,只知道是Simple Object Access Protocol,和XML結合可以提供跨平臺的服務。
編程的人總有這么一個愛好,開始的時候總要拿一個HelloWorld似的例子試試,我也不例外。 要試當然要有SOAP的運行環境。按照書上的指示,裝好了Tomcat,下載了相關的包,將soap.jar ,mail.jar,activatio.jar,xercesImpl.jar 加入到了環境變量classpath中,將soap.war拷貝到了TOMCAT的webapps目錄下。
運行SOAP的測試目錄:HTTP://127.0.0.1:8080/soap/發現soap已經正常工作。 接著便是部署新的SOAP服務了,按照書上的源碼,寫好了測試用的部署類和客戶端類,編譯通過。在部署新的SOAP的web頁面下按照書上的步驟添好表單并部署完成。將測試所在目錄添加到classpath中。 重啟tomcat。 運行剛才編譯好的客戶端類,結果NoClassDefError。
試了好幾遍,都是這樣,很是讓我郁悶啊。 看了另一本書《java web服務應用開發詳解》終于找到了答案: 運行客戶端測試程序時,***Client.class是在Package test中的 運行時退回到test的上級目錄,java test.***Client 即可。 我想遇到類似問題,還是對java的包不熟悉。