cxf 开发webservice 的两种实现方式

网上有许多开发webservice 的博客,不知道咋的我就是看不懂,所以在本人的努力下写这篇博客,希望对需要的人有用,还有许多人弄个破helloworld 程序收人金币本人黑恼火,所以发表这篇播客,cxf-servlet等配置在高版本的cxf中不需要引入,cxf有很多jar 包我也不知道干什么用的,所以这些jar 包是我根据别人的成果尝试后一步步试出来的,还有许多鬼儿子的弄个破jar 包在网上买,所以我打算用maven来搭建项目,学习的路是艰难的,现在网上许多博客好像和你打游击一样,谁也有是新手的时候,摸不着东西时候学习是痛苦的,我最恨的是妈的收保护费弄个破文档质量不知道咋样在网上卖,无耻!,虽然我没有多少C币。

首先需要了解一一下这两个基本的知识

JAX-WS:全称是JavaTM API forXML-Based Web Services
JAX-RS :全称是 JavaTM API forRESTful Web Services

搭建环境使用maven 导入jar包和配置web.xml


	4.0.0
	com.huawei.it
	cxf
	war
	0.0.1-SNAPSHOT
	cxf
	cxf
	
		4.9
		4.3.14.RELEASE
		3.2.8
		1.2.2
		1.6.4
		1.0.9
		2.5
		2.0
		3.3.2
		1.3.2
		3.2.2
	
	
		
			org.apache.cxf
			cxf-rt-frontend-jaxws
			${cxf.version}
		
		
			org.apache.cxf
			cxf-rt-transports-http
			${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-transports-http
    		${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-transports-udp
    		${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-databinding-jaxb
    		${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-frontend-simple
    		${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-frontend-jaxws
    		${cxf.version}
		
		
    		org.apache.cxf
    		cxf-rt-ws-addr
    		${cxf.version}
		
		
		
    		org.apache.cxf
    		cxf-rt-bindings-soap
    		${cxf.version}
		
		
		    javax.ws.rs
		    javax.ws.rs-api
		    2.1
		
		
		
		    org.codehaus.jettison
		    jettison
		    1.3.8
		
		
		    org.apache.cxf
		    cxf-rt-frontend-jaxrs
		    ${cxf.version}
		
		  
            org.apache.cxf  
            cxf-rt-frontend-jaxws  
            ${cxf.version}  
          
          
            org.apache.cxf  
            cxf-rt-frontend-jaxrs  
            ${cxf.version}  
         
    	 
            org.apache.cxf
            cxf-rt-rs-security-jose-jaxrs
            ${cxf.version}
        
        
            org.apache.cxf
            cxf-rt-rs-extension-providers
            ${cxf.version}
        
        
            org.apache.cxf
            cxf-rt-rs-security-sso-oidc
            ${cxf.version}
         
		
			junit
			junit
			test
			${junit.version}
		
		
			org.springframework
			spring-aop
			${spring.version}
		
		
			org.springframework
			spring-aspects
			${spring.version}
		
		
			org.springframework
			spring-beans
			${spring.version}
		
		
			org.springframework
			spring-context
			${spring.version}
		
		
			org.springframework
			spring-context-support
			${spring.version}
		
		
			org.springframework
			spring-core
			${spring.version}
		
		
			org.springframework
			spring-expression
			${spring.version}
		
		
			org.springframework
			spring-jdbc
			${spring.version}
		
		
			org.springframework
			spring-tx
			${spring.version}
		
		
			org.springframework
			spring-web
			${spring.version}
		
		
			org.springframework
			spring-webmvc
			${spring.version}
		
		
			org.springframework
			spring-test
			4.3.3.RELEASE
		
		
			org.springframework
			spring-jms
			${spring.version}
		
		
			org.springframework
			spring-messaging
			${spring.version}
		
		
		
			org.apache.commons
			commons-lang3
			${commons-lang3.version}
		
		
			org.apache.commons
			commons-io
			${commons-io.version}
		
		
		
			junit
			junit
			${junit.version}
			test
		
		
		
			org.slf4j
			slf4j-log4j12
			${slf4j.version}
		
		
		
			org.mybatis
			mybatis
			${mybatis.version}
		
		
			org.mybatis
			mybatis-spring
			${mybatis.spring.version}
		
		
		
			com.alibaba
			druid
			${druid.version}
		
		
			javax.servlet
			servlet-api
			${servlet-api.version}
			provided
		
		
			javax.servlet
			jsp-api
			${jsp-api.version}
			provided
		
		
			com.oracle
			ojdbc6
			11.2.0.1.0
		
		
    	
	
	
		
		
			
				src/main/java
				
					**/*.xml
				
			
			
			
				src/main/resources
				
					**/*.xml
					**/*.properties
				
			
		
		
			
			
				org.apache.maven.plugins
				maven-resources-plugin
				2.7
				
					UTF-8
				
			
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.0
				
					1.8
					1.8
					UTF-8
				
			
			
			
				org.apache.tomcat.maven
				tomcat7-maven-plugin
				
					/
					8082
				
			
		
	

配置web.xml



  
  	contextConfigLocation
  	classpath:applicationContext.xml
  
  
  	cxfServlet
  	org.apache.cxf.transport.servlet.CXFServlet
  
  
  	cxfServlet
  	/ws/*
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  

配置spring 的核心配置文件



	
	

1.创建接口就是在接口上面添加个@WebService

2.发布服务



	
	

3.生成客户端代码,在path 中加入cxf bin目录的路径,-d 后面的是客户端生成的地址,后面wsdl文件的地址

wsdl2java -d ./test -client http://localhost:8082/ws/studentService?wsdl

4.进行调用,有个client的java文件,直接runAs 直接搞定

CXF开发Restful 服务

1.创建接口

public interface StudentService{
	@GET
	@Path(value = "/selectStudent")
	@Produces(MediaType.APPLICATION_JSON)
	List selectStudent();
	
	@GET
	@Path(value ="/selectStudentBysNo")
	@Produces(MediaType.APPLICATION_JSON)	
	@Consumes({"application/json","application/xml"})
	StudentVO selectStudentVOBysNo(@QueryParam("sNo") String sNo);
	
	@GET
	@Path(value ="/selectStudentBysNo2/{sNo}")
	@Produces(MediaType.APPLICATION_JSON)	
	@Consumes({"application/json","application/xml"})
	StudentVO selectStudentVOBysNo2(@PathParam("sNo") String sNo);
}

2.发布服务



    
        
            
        
           
         
             
             
         
        
        
               
        
        
                    

你可能感兴趣的:(cxf 开发webservice 的两种实现方式)