CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码

时间:2021-08-25 13:49:27

cxf-2.3.3.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-jaxws_2.2_spec-1.0.jar
geronimo-stax-api_1.0_spec-1.0.1.jar
geronimo-ws-metadata_2.0_spec-1.1.3.jar
jaxb-api-2.2.1.jar
jaxb-impl-2.2.1.1.jar
neethi-2.0.4.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.7.jar
wstx-asl-3.2.9.jar

slf4j-api-1.6.2.jar

 

以上jar是client端需要的最少jar,如果需要webservice端,则需要增加其他几个,我直接打了rar附件,可以下载(这个是针对jetty的,如果不用jetty,则没必要增加)

jetty-http-7.5.4.v20111024.jar
jetty-io-7.5.4.v20111024.jar

jetty-server-7.5.4.v20111024.jar

jetty-util-7.5.4.v20111024.jar

jetty-continuation-7.5.4.v20111024.jar

 
 

简单介绍一下cxf开发客户端和服务端的代码块

发布服务端代码:

Java代码   CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码
  1. @WebService  
  2. public interface ApprovalService {  
  3.   
  4.     /** 
  5.      * 3.1.10.  审批结果回调接口 
  6.      * @param status 
  7.      * @return 
  8.      */  
  9.     @WebMethod  
  10.     String syncApprovalResult(@WebParam(name = "status") String status);  
  11. }  

 

 

实现类

 

 

Java代码   CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码
  1. @WebService  
  2. public class ApprovalServiceImpl implements ApprovalService{  
  3.   
  4.     @WebMethod  
  5.     public String syncApprovalResult(String status) {  
  6.         System.out.println("************************************************");  
  7.         return null;  
  8.     }  
  9.   
  10. }  

 

 发布webservice

 

Java代码   CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码
  1. @Service  
  2. public class ApprovalPublish implements Serializable{  
  3.       
  4.     @PostConstruct//此方法为我项目中spring容器启动自动发布而写的  
  5.     public void publishApprovalService(){  
  6.         this.publish(ApprovalService.classnew ApprovalServiceImpl());  
  7.     }  
  8.   
  9.     private void publish(Class<?> clazz, Object implObj) {  
  10.         System.out.println("启动webservice【"+clazz.getSimpleName()+"】");  
  11.         // 创建WebService服务工厂  
  12.         JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();  
  13.         // 注册WebService接口  
  14.         factory.setServiceClass(clazz);  
  15.         // 发布接口  
  16.         factory.setAddress("http://localhost:9000/e7cc/" + clazz.getSimpleName());  
  17.         factory.setServiceBean(implObj);  
  18.         // factory.getInInterceptors().add(new LoggingInInterceptor());  
  19.         // factory.getOutInterceptors().add(new LoggingOutInterceptor());  
  20.         // 创建WebService  
  21.         factory.create();  
  22.     }  
  23.       
  24.     public static void main(String[] args) {  
  25.         new ApprovalPublish().publishApprovalService();  
  26.   
  27.     }  
  28. }  

 

 以上就可以发布一个webservice服务了,访问地址:http://localhost:9000/e7cc/ApprovalService?wsdl

 

 

客户端代码

 

 

 

Java代码   CXF开发webservice需要的最少jar包,CXF发布和调用客户端代码
  1. public static void main(String[] args) {  
  2.           
  3.         JaxWsProxyFactoryBean  factoryBean=new JaxWsProxyFactoryBean();   
  4.         factoryBean.getInInterceptors().add(new LoggingInInterceptor());   
  5.         factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());   
  6.         factoryBean.setServiceClass(ProcessService.class);   
  7.         factoryBean.setAddress("http://localhost:9000/e7cc/ApprovalService?wsdl");   
  8.         ApprovalService approvalService=(ApprovalService) factoryBean.create();   
  9.         approvalService.syncApprovalResult("hello");  
  10.     }  

 

 以上为cxf发布和调用服务的代码,这个是通过java的代理类做的,还有一种通过spring-application.xml的配置文件区生成的,原理一样,以后有时间补上吧

 

 

  • lib.rar (6.4 MB)
  • 下载次数: 834