返回顶部
首页 > 资讯 > 精选 >如何基于CXF搭建webService
  • 163
分享到

如何基于CXF搭建webService

cxfwebservice 2023-05-30 22:05:59 163人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关如何基于CXF搭建WEBService,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导入相关jar包,具体哪些包我记不太清了在applicationContext中加入相关配置

这篇文章将为大家详细讲解有关如何基于CXF搭建WEBService,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

导入相关jar包,具体哪些包我记不太清了

在applicationContext中加入相关配置信息,如下所示:

<beans xmlns="Http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema"     xmlns:context="http://www.springframework.org/schema/context"     xmlns:jaxws="http://cxf.apache.org/jaxws"     xsi:schemaLocation="http://www.springframework.org/schema/beans               http://www.springframework.org/schema/beans/spring-beans-3.0.xsd               http://www.springframework.org/schema/context               http://www.springframework.org/schema/context/spring-context-3.0.xsd               http://cxf.apache.org/jaxws               http://cxf.apache.org/schemas/jaxws.xsd">      <context:component-scan base-package="com.cxf.bo"/>        <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="OrderWS"       implementor="com.cxf.spring.ws.OrderWSImpl"//类所在地址或者#+对应bean的id      address="/OrderWS" > //随意命名      <jaxws:features>        <bean class="org.apache.cxf.feature.LoggingFeature" />       </jaxws:features>     </jaxws:endpoint> </beans>

在web.xml文件中加入:

<!-- cxf配置 -->   <servlet>     <servlet-name>CXFServlet</servlet-name>     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>     <load-on-startup>1</load-on-startup>   </servlet>   <servlet-mapping>     <servlet-name>CXFServlet</servlet-name>     <url-pattern>/CXFServlet/*</url-pattern>   </servlet-mapping>

在service层加入:

@WebServicepublic interface OrderWS {  @WebMethod  public Order getOrderById(int id);}

若存在struts2,会发生冲突,则重写过滤器

1 写一个类ExtendStrutsFilter:

package com.nbu.retailer.filter;import java.io.IOException;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.httpservletRequest;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;public class ExtendStrutsFilter extends StrutsPrepareAndExecuteFilter{  private static Logger log = LoggerFactory.getLogger(ExtendStrutsFilter.class);   @Override   public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain)       throws IOException, ServletException {       try {         HttpServletRequest request = (HttpServletRequest) req;         // 判断是否是向WebService发出的请求         if (request.getRequestURI().contains("/CXFServlet")) {            // 如果是来自向CXFService发出的请求            chain.doFilter(req, res);          }          else {            // 默认action请求             super.doFilter(req, res, chain);          }        }       catch (Exception e) {          log.error(e.getMessage());          e.printStackTrace();       }   } }

2 在web.xml中改变过滤器的地址:

<!-- struts2的过滤器-->   <filter>    <filter-name>struts2</filter-name>    <!--      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    -->    <!-- 自定义struts2过虑器类 用于解决struts2把cxf的请求当action处理的问题-->    <filter-class>com.nbu.retailer.filter.ExtendStrutsFilter</filter-class>  </filter>

5.3 注意,CXF的url和struts2的url不能相同。之前就这个问题困扰了我好久才发现的。

关于“如何基于CXF搭建webService”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何基于CXF搭建webService

本文链接: https://lsjlt.com/news/221600.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何基于CXF搭建webService
    这篇文章将为大家详细讲解有关如何基于CXF搭建webService,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导入相关jar包,具体哪些包我记不太清了在applicationContext中加入相关配置...
    99+
    2023-05-30
    cxf webservice
  • 基于Docker如何搭建WordPress
    小编给大家分享一下基于Docker如何搭建WordPress,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先下载mysql镜像和wordpress镜像1...
    99+
    2023-06-07
  • 基于docker如何搭建caffe环境
    小编给大家分享一下基于docker如何搭建caffe环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求:构建一个独立的容器,里面安装了caffe 的所有依赖,...
    99+
    2023-06-07
  • 如何基于Anaconda搭建Django环境
    这篇文章主要为大家展示了“如何基于Anaconda搭建Django环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何基于Anaconda搭建Django环境”这篇文章吧。一、介绍Django...
    99+
    2023-06-25
  • tensorflow基于Anaconda环境如何搭建
    本篇内容主要讲解“tensorflow基于Anaconda环境如何搭建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“tensorflow基于Anaconda环境如何搭建”吧!1.简介Tensor...
    99+
    2023-07-05
  • 如何在Spring中利用webservice restful对CXF 进行整合
    今天就跟大家聊聊有关如何在Spring中利用webservice restful对CXF 进行整合,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。webservice restful接...
    99+
    2023-05-31
    spring cxf webservice
  • 基于docker 搭建Prometheus+Grafana
    Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且...
    99+
    2023-01-30
    docker Prometheus Grafana
  • 基于docker 搭建Elasticsearch6.2.4(centos)
    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的...
    99+
    2023-01-30
    docker centos
  • 如何搭建基于Docker的MySQL主从复制
    下文主要给大家带来如何搭建基于Docker的MySQL主从复制,希望这些内容能够带给大家实际用处,这也是我编辑如何搭建基于Docker的MySQL主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文...
    99+
    2024-04-02
  • 如何搭建基于.NET平台的Web框架
    这篇文章主要介绍了如何搭建基于.NET平台的Web框架,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一.技术分析1.web数据传输ExtJS作为前端UI展现层,传输数据格式为...
    99+
    2023-06-17
  • 基于Tensorflow如何搭建一个神经网络
    小编给大家分享一下基于Tensorflow如何搭建一个神经网络,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Tensorlow结构import te...
    99+
    2023-06-15
  • 基于docker如何搭建局域网服务器
    要在局域网中搭建服务器,可以使用Docker来快速部署和管理服务器应用程序。以下是基于Docker搭建局域网服务器的简要步骤: ...
    99+
    2024-04-09
    docker 服务器
  • Apache CXF中如何构建RESTful Web Service
    Apache CXF中如何构建RESTful Web Service,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。介绍一下怎么通过CXF来发布RESTful的W...
    99+
    2023-06-17
  • MySQL基于GTID主从搭建
    目录一、用xtarbackup备份数据库1.1 优势1.2 安装1.3 使用1.3.1 普通备份1.3.2 tar备份1.3.3 xbstream备份1.3.4 恢复二、基于GTID做数据同步2.1 GTID的概念2.2...
    99+
    2024-04-02
  • 基于RPM包的LAMP搭建
    1.     配置概要:a)      172.16.20.10主机运行httpd+php服务(...
    99+
    2024-04-02
  • 基于GTID 的主从搭建
    备注:此处搭建的为一主多从。环境:centos7+MySQL5.7主:192.168.162.134从1:192.168.162.133从2:192.168.162.135安装参照:http://liyin...
    99+
    2024-04-02
  • 基于Docker搭建iServer集群
    目录前言一、安装Docker二、下载 iServer 镜像三、启动iServer四、发布服务五、搭建集群前言 Linux容器虚拟技术(LXC,Linux Container)是一种轻...
    99+
    2024-04-02
  • MySQL中基于GTID半同步如何搭建主从
    下文给大家带来有关MySQL中基于GTID半同步如何搭建主从内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL中基于GTID半同步如何搭建主从你一定会有所...
    99+
    2024-04-02
  • 基于Python如何使用AIML搭建聊天机器人
    借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人。AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言...
    99+
    2022-06-04
    如何使用 机器人 Python
  • 基于docker环境下如何搭建redis主从集群
    基于docker环境下如何搭建redis主从集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1   前言笔者给大家介绍基于docker环境下搭建Red...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作