因為剛畢業的時候踩到了webservice生命歷程的尾巴,所以開發過一次需要調用webservice接口的功能,作為小白的我使用cxf訪問webservice接口,感覺那是個變態的東西,自那便對webservice存下了心理陰影。慶幸的是,在我進入職場后,很快,webservice接口就被公司淘汰了。
湊巧這幾天有個新的需求,需要調用一個平台系統的老接口,更湊巧的是接口是webservice寫的,求聽到這個消息的時候,求心里陰影面積!!!
在頂着打死都不願意再聽到webservice這個名字的巨大陰影下,在同事的介紹下,在百度搜索框中敲入“idea開發webservice客戶端”.
幸福或許就這樣不期而遇了,哈哈哈,原來現在寫webservice接口這么簡單。。。。允許我星爺式大笑三分鍾 啊哈哈哈。。。。
---------------------------------------以上內容,着急的同學可以忽略 ^--^ ------------------------------------
在你的工程中找創建一個package ,選中包右鍵,拉到最下面,選擇webservice -> Gentate Java Code from Wdsl

配置如下,第二項和第三項配置要注意。點擊ok,等着生成java代碼就可以

生成的文件可能很多,最重要的是有一個interface,這個interface定義了所有調用webservice接口的方法。
那么,如何使用這些java代碼呢
1 . 如果是spring項目,你需要創建一個java配置類,里面配置一個服務接口的調用bean
import com.provider.manager.zh.webservice.dataprovider.IBPServiceInterface; import com.provider.manager.zh.webservice.dataprovider.IBPWebServices; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.net.MalformedURLException; import java.net.URL; /** * webservice接口配置 */ @Configuration public class WebserviceConfigure { private static final Logger logger = LoggerFactory.getLogger(WebserviceConfigure.class); /** * 田海超 * @return */ @Bean public IBPServiceInterface IBPServiceInterface() { URL wsdlURL = null; try { wsdlURL = new URL("${zh.system.webservice.flexsupt.flexsuptDataprovider}"); } catch (MalformedURLException e) { logger.error("初始化綜合同步webservice接口(wsdl:{})異常:", "${zh.system.webservice.flexsupt.flexsuptDataprovider}", e); //TODO 使用統一的異常累進行處理 throw new RuntimeException(e); } IBPWebServices ss = new IBPWebServices(wsdlURL); IBPServiceInterface port = ss.getIBPServiceImplePort(); return port; } }
2. 這里要注意,不同接口的wsdl 生產的響應類的名字是不一樣的,但是基本結構是固定的,


3. 編寫測試類

