之前用axis2生成代碼的時候都沒有在意過,一路用default configuration下來。
前一陣子發現以前的代碼在生成時選擇的data binding不是用默認的adb方式,而是用xmlbeans。
google了一番不同數據綁定的區別,好像也沒什么結果,大意就是adb的最簡單,但是有局限性;xmlbeans支持的比較全面,但是用起來有點兒復雜。不過,我也沒有體會出來xmlbeans強大在哪里……只是知道生成的代碼更多了,調用起來更繞彎子而已。。。
server端用xmlbeans生成,client端用adb生成,互通是沒有問題的。
client端用xmlbeans生成時,需要把產生于resources里面的所有.class文件打成jar包加到client端的build path里,否則運行client加載類的時候就會報錯了,好詭異,太不友好了。
類似這種錯誤:
ClassNotFoundException : Cannot load SchemaTypeSystem. Unable to load class with name schemaorg_apache_xmlbeans.system.s68C41DB812F52C975439BA10FE4FEE54.TypeSystemHolder. Make sure the generated binary files are on the classpath.
所幸是在官方網站上有說明:http://ws.apache.org/axis2/tools/1_2/CodegenToolReference.html