CXF開發webservice需要的最少jar包,CXF釋出和呼叫客戶端程式碼
阿新 • • 發佈:2019-01-10
簡單介紹一下cxf開發客戶端和服務端的程式碼塊
釋出服務端程式碼:
Java程式碼- @WebService
- publicinterface ApprovalService {
- /**
- * 3.1.10. 審批結果回撥介面
- * @param status
- * @return
- */
- @WebMethod
- String syncApprovalResult(@WebParam(name = "status") String status);
- }
實現類
Java程式碼-
@WebService
- publicclass ApprovalServiceImpl implements ApprovalService{
- @WebMethod
- public String syncApprovalResult(String status) {
- System.out.println("************************************************");
- returnnull;
- }
- }
釋出webservice
Java程式碼- @Service
-
publicclass
- @PostConstruct//此方法為我專案中spring容器啟動自動釋出而寫的
- publicvoid publishApprovalService(){
- this.publish(ApprovalService.class, new ApprovalServiceImpl());
- }
- privatevoid publish(Class<?> clazz, Object implObj) {
-
System.out.println("啟動webservice【"
- // 建立WebService服務工廠
- JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
- // 註冊WebService介面
- factory.setServiceClass(clazz);
- // 釋出介面
- factory.setAddress("http://localhost:9000/e7cc/" + clazz.getSimpleName());
- factory.setServiceBean(implObj);
- // factory.getInInterceptors().add(new LoggingInInterceptor());
- // factory.getOutInterceptors().add(new LoggingOutInterceptor());
- // 建立WebService
- factory.create();
- }
- publicstaticvoid main(String[] args) {
- new ApprovalPublish().publishApprovalService();
- }
- }
客戶端程式碼
Java程式碼- publicstaticvoid main(String[] args) {
- JaxWsProxyFactoryBean factoryBean=new JaxWsProxyFactoryBean();
- factoryBean.getInInterceptors().add(new LoggingInInterceptor());
- factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
- factoryBean.setServiceClass(ProcessService.class);
- factoryBean.setAddress("http://localhost:9000/e7cc/ApprovalService?wsdl");
- ApprovalService approvalService=(ApprovalService) factoryBean.create();
- approvalService.syncApprovalResult("hello");
- }
以上為cxf釋出和呼叫服務的程式碼,這個是通過java的代理類做的,還有一種通過spring-application.xml的配置檔案區生成的,原理一樣,以後有時間補上吧