一、做WebService對接一般需要對方提供webservice服務的HTTP地址、WSDL文件、開發說明文檔。
一般WSDL文檔可以通過HTTP地址獲取eg:
若webservice的HTTP地址:http://10.7.3.43/webserverfengh/Service1.asmx
則wsdl文件地址爲:http://10.7.3.43/webserverfengh/Service1.asmx?wsdl
另存爲即可下載此wsdl文檔
二、CXF對接webservice
1、下載apache-cxf文件(最好是2.1.3以上的,此版本前後jar文件有較大區別),將其中lib下的jar包導入項目的lib文件中。
2、通過此命令在cxf-bin中生成需要的java文件,導入項目中。
3、在項目中根據說明文檔調用接口
@1、JAX-WS(JaxWsServerFactoryBean)方式實現
JAX-WS實現客戶端:
String searchJson="{\"dateTypeFlg\": 0, \"startDateAll\":\""+beginTime+"\", \"endDateAll\":\""+endTime+"\", \"startDate\": \"\", \"endDate\": \"\", \"startTime\": \"\", \"endTime\": \"\", \"carNum\": \""+carNumber+"\", \"screenPlaceId\": \"\", \"highQueryFlg\":0, \"carType\":1, \"carNumColor\": \"1\", \"carColor\":\"1\", \"carSpeedStart\": \"1\", \"carSpeedEnd\": \"99\", \"vagueFlg\":\"1\", \"removeFlg\":\"0\", \"hasSpecialCarQueryPrivilege\":true, \"userBean\":{\"loginServerName\":\"127.0.0.1\"}}";
String pageJson="{\"pageNo\":0, \"pageSize\":10000, \"orderBy\":\"cap_date\", \"order\":\"asc\", \"autoCount\": true}";
JaxWsProxyFactoryBean factory=new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setAddress("http://10.38.217.21/itc/ws/carQuery");
factory.setServiceClass(CarQueryService.class);
CarQueryService client=(CarQueryService)factory.create();
System.out.println("/////////////");
String str=client.getCommonQuery(searchJson,pageJson,"");
System.out.println(str);//在控制檯檢查對接結果
其中:
@2、POJO(ServiceFactoryBean)方式實現
@3、通過spring的配置文件集成,然後實現
注:三種方式可以在F:\Video\Course of study\JAVA\cxf_webservice中查看