天天看點

java程式調用xfire釋出的webService服務(二)

在上一篇的調用xfire釋出的webservice服務中,我隻是從服務端傳回了一個字元串給用戶端,卻沒有測試從用戶端傳遞資料給服務端。而實際應用中一般是不太可能隻出現這樣的應用場景的,是以我便更進一步測試了用戶端傳遞資料給服務端。

因為相關的jar包在上一篇已經說過,是以便不再重複說明,這次的測試步驟如下:

一、測試向服務端傳遞字元串(重點在第二個):

    為了進一步了解服務搭建,我重新寫了一個服務端服務類:

接口:

實作類:

在之前的services.xml中加入了以下代碼:

然後是另外一個項目中模拟用戶端調用代碼,同樣是需要先建立和服務端一樣的服務接口:

然後是調用:

這裡的調用是比較簡單的,也沒有什麼問題,字元串的傳遞完全可以。

二、調用時傳遞對象(重點在結尾處)

這個測試,我寫了一個簡單的usermodel類,用來當做參數使用,根據網上的一些資料,我給實體類做了序列化,如下:

然後是對應的接口:

services.xml中加入如下代碼:

然後是用戶端調用的代碼:

因為和服務端是不同的項目,是以需要自己建立和服務端一樣的服務接口以及usermodel類,我都寫在和上一個類的同一個包中,即test中:

usermodel類:

上邊這些代碼和之前的比較,除開加了一些注解外,基本上沒有多大差別,然後啟動服務端,并在模拟的用戶端中調用,結果控制台的列印資訊卻不是預想中的,都成了預設值,如圖:

java程式調用xfire釋出的webService服務(二)

于是又查了許多資料,并在項目老大的幫助下找到了原因。竟然是因為我用戶端的usermodel類的包名和服務端的不一樣,于是建立了一個和服務端一樣的包,并把這個usermodel挪過去,然後再啟動模拟用戶端的main方法,控制台如願以償的輸出結果,至此整個測試完畢。

java程式調用xfire釋出的webService服務(二)