微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cxf webservice整合spring

框架版本:CXF-2.5.9 和 Spring-3.2.1

1.拷贝CXF所需jar包(6个)和spring

asm-3.3.1.jar  commons-logging-1.1.1.jar cxf-2.5.9.jar neethi-3.0.2.jar wsdl4j-1.6.2.jar xmlschema-core-2.0.3.jar

2.修改web.xml

<servlet>
		<servlet-name>CXFService</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<!-- 如果有spring mvc -->
		<load-on-startup>2</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>CXFService</servlet-name>
		<url-pattern>/sysWebservice/*</url-pattern>
	</servlet-mapping>

3.添加spring配置

头部加入命名空间

xmlns:jaxws="http://cxf.apache.org/jaxws"
http://cxf.apache.org/jaxws 
    http://cxf.apache.org/schemas/jaxws.xsd
配置

<import resource="classpath:meta-inf/cxf/cxf.xml" />
	<import resource="classpath:meta-inf/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:meta-inf/cxf/cxf-servlet.xml" />
	<!-- #xxx 代表引用spring容器中的bean -->
	<jaxws:endpoint 
		id="helloWorld2" implementorClass="com.lwp.webservice.AddUser2" 
		address="/helloWorld2" implementor="#userwebservice2" />


4.编写service发布类

  AddUser2  interface

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import com.lwp.entity.User;
//标记一个web service
@WebService
public interface AddUser2 {
	//@WebParam 自定义方法参数名
	public boolean addUser2(@WebParam(name="userObj")User u,int age,String name);
	public User findAll2();
	//自定义方法吗
	@WebMethod(operationName="say_good")
	public String sayGood2(String name);
}
AddUser2Implement  实现类

import javax.jws.WebService;
import org.springframework.stereotype.Service;
import com.lwp.entity.User;
import com.lwp.webservice.AddUser2;

@WebService(endpointInterface="com.lwp.webservice.AddUser2")
//注入spring 容器  implementor="#userwebservice2"
@Service(value="userwebservice2")
public class AddUserImpl2 implements AddUser2 {
	
	//@Resource
	//private BaseHelper baseHelper;
	
	public boolean addUser2(User u,String name) {
		System.out.println(u + "\t" +age +"\t" +name);
		return false;
	}

	public User findAll2() {
		return new User(1,"admin");
	}
	
	public String sayGood2(String name) {
		System.out.println(name+"say good");
		return "你好"+System.currentTimeMillis();

	}

}

开启服务访问wsdl文件,结果如下证明发布成功!




版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐