在實際開發工作中,會遇到接口對接的場景,有直接HTTP調用方式,參數體為JSON串;還有一種是SOAP方式,即webService接口。
首先,可以在瀏覽器上安裝一個插件(Wizdler),如下圖。
通過這個插件,我們可以輕松的看到所有的方法
點擊方法,可以直接生成對應的請求參數,替換相關參數,可以直接調用方法;
下面來講一下如何使用Java代碼實現接口的調用;
@Test public void test(){ try{ String webServiceUrl = "http://238.62.169.140:8090/g6_venues/webservice/gtv-external-venues-service?wsdl"; JaxWsDynamicClientFactory factory1 = JaxWsDynamicClientFactory.newInstance(); Client client = factory1.createClient(webServiceUrl); HTTPConduit conduit = (HTTPConduit)client.getConduit(); HTTPClientPolicy clientPolicy = new HTTPClientPolicy(); //連接超時 clientPolicy.setConnectionTimeout(2000); //取消塊編碼 clientPolicy.setAllowChunking(false); //響應超時 clientPolicy.setReceiveTimeout(12000); conduit.setClient(clientPolicy); String startDateTime = "20201018090000"; String endDateTime = "20201228160000"; Object[] result = client.invoke("queryFreeRoomInfo",startDateTime ,endDateTime ); //queryFreeRoomInfo為方法名; System.out.println("返回結果:" + result[0].toString()); }catch (Exception e){ e.printStackTrace(); } }
JaxWsDynamicClientFactory、HTTPConduit、Client、HTTPClientPolicy需要引入對應的依賴,
