700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > WebService--CXF与Spring的整合(jaxws:endpoint形式配置)以及客户端调用(spring配

WebService--CXF与Spring的整合(jaxws:endpoint形式配置)以及客户端调用(spring配

时间:2023-10-17 13:12:08

相关推荐

WebService--CXF与Spring的整合(jaxws:endpoint形式配置)以及客户端调用(spring配

作者:@展云

本文为作者原创,转载请注明出处:/zhanxiaoyun/p/7942902.html

目录

一、CXF与Spring整合(jaxws:endpoint形式配置)

1.新建一个maven项目

2.web.xml文件中配置CXFServlet以及Spring容器,配置Spring的配置文件,配置webservice的配置文件

二、客户端调用(spring配置文件形式,不需要生成客户端代码)

1.spring配置文件信息

2.写对应接口信息

3.加载Spring的配置文件进行测试

4.需要的jar包

一、CXF与Spring整合(jaxws:endpoint形式配置)

工具要点:idea、maven

1.新建一个maven项目

pom.xml

2.web.xml文件中配置CXFServlet以及Spring容器,配置Spring的配置文件,配置webservice的配置文件

web.xml:

web.xml

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd/schema/context/schema/context/spring-context-2.5.xsd"><!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 --><context:component-scan base-package="com.wp.learn.webservice"></context:component-scan><!-- 导入其他配置文件 --><import resource="applicationContext-ws.xml" /></beans>

applicationContext-ws.xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:jaxws="/jaxws"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd/jaxws /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" /><jaxws:endpoint id="helloWebservice" implementor="#helloServiceImpl"address="/hello" /></beans>

接口HelloService:

Impl类HelloServiceImpl:

情况一、如果Impl类的注解是@Webservice,implementor需要写完全路径

情况二、Impl类注解是@Service,implementor只需“#”号加bean的id名

二、客户端调用(spring配置文件形式,不需要生成客户端代码)

Webservice的客户端调用,可以用ajax前端调用,java中可以通过生产客户端代码调用,也可以通过Spring配置文件、写对应接口信息调用。本例介绍配置文件,写接口信息进行webservice调用。

1.spring配置文件信息

<jaxws:client id="helloService" serviceClass="com.wp.learn.webservice.cxf.service.IHelloService"address="http://localhost:8080/ws/HelloService"></jaxws:client>

2.写对应接口信息

需要注意两点:

1、targetNamespace的值必须和webservice服务项目中定义的一致,具体信息可以在WSDL文件中查看2、接口名称可以自己随便起,但是方法名称、参数格式必须保持一致,否则无法找到服务的实现方法。

//注意,该出的targetNamespace的值必须和webService服务项目中定义的必须一致,否则调用不成功@WebService(targetNamespace = "http://impl.service.cxf.webservice./", name = "IHelloService")public interface IHelloService {//接口名称可以不一样,方法名称、参数格式必须保持一致,否则无法找到服务的实现的方法public String sayHi(String name);}

3.加载Spring的配置文件进行测试

public class Test {public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-ws.xml");IHelloService helloService = (IHelloService) context.getBean("helloService");String result = helloService.sayHi("帅哥");System.out.print(result);}}

4.需要的jar包

pom.xml

源码地址:/wangpinggs/learn/tree/master/webserviceDemo

WebService--CXF与Spring的整合(jaxws:endpoint形式配置)以及客户端调用(spring配置文件形式 不需要生成客户端代码)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。