考慮有兩個Web服務Test1和Test2坐在同一個項目中的同一個服務器上。有impl類是Test1Impl和Test2Impl。 Test1Impl包含方法的定義getDetails和Test2Impl包含方法addDetails。如果兩個服務都坐在同一個項目中,如何從其他服務調用一個Web服務方法?
現在我想從getDetails在Test1Impl調用addDetails在Test2Impl。 我得到以下思路來實現這個功能
1),因爲這些服務IMPL類都坐在同一個項目,我可以把它作爲一個正常運轉的Java方法就像
new Test1Impl().addDetails(request)
這將打破網絡服務的限制。
2)我應該使Web服務調用來調用該方法。這將變得令人討厭,因爲它將在同一個項目中擊中網絡並使服務器調用到位於同一臺服務器上的服務。
ServiceLocator.getTest1Services().addDetails(request);
3)在addDetails實現相同的方法在Test1Impl作爲私人方法。
public class Test1Impl{
public Response addDetails(Request request){
//
//
}
}
public class Test2Impl{
public Response addDetails(Request request){
//
//
}
}
這將是多餘的代碼,它會降低代碼標準。
請幫助我走哪條路,甚至是新的想法都歡迎。