web service012——cxf的启动流程和调用方法
Posted 江州益彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web service012——cxf的启动流程和调用方法相关的知识,希望对你有一定的参考价值。
一、创建动态web工程,导入cxf的jar包
二、发布不是接口的类
2.1、被发布的类
2.2、web.xml文件的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>CxfSpringWeb</display-name>
<!--
一、发布和访问流程
1、当访问http://localhost:8080/CxfSpringWeb/ws时,进入到CXFServlet;
通过servlet的init方法引入配置文件cxf-servlet.xml(这是spring的配置文件);
CXFServlet调用spring的核心代码取解析cxf-servlet.xml文件,获取到对应的配置信息;
然后调用JaxWsServerFactoryBean来发布webservice
通过反射机制获得.calss,从而可以发布对应方法
二、第一次访问servlet很慢
1、原因是servlet的生命周期,servlet第一次访问时需要初始化
配置文件cxf-servlet.xml在第一次访问时采取解析
2、解决方法
配置文件cxf-servlet.xml是spring的配置文件。可以通过的spring的listener取解析
(服务器已启动就去加载)
-->
<!-- ==================解决访问慢================ -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/cxf-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- =============================================-->
<servlet>
<!-- 配置cxf -->
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<!-- spring的配置文件,在这里配置第一次访问很忙,不采用 -->
<!--<init-param>
<param-name>config-location</param-name>
<param-value>/WEB-INF/cxf-servlet.xml</param-value>
</init-param>-->
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.3、cxf-servlet.xml文件的配置
<jaxws:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean>
</jaxws:inInterceptors>
2.4、附:决访问慢的问题时,cxf-servlet.xml文件的配置的说明
2.5、验证
三、发布实现接口的类
3.1、被发布的接口和类
xml文件的配置如上
3.2、验证
四、调用发布的webservice
4.1、创建Java项目
4.2、添加jar包
4.3、生成Java文件
4.4、配置xml文件(xml文件名自定义)
新建客户端的实现类
开启服务端,通过客户端连接验证
以上是关于web service012——cxf的启动流程和调用方法的主要内容,如果未能解决你的问题,请参考以下文章
在Myeclipse下使用CXF和Spring开发Web Service