CXF - com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码 5))

2024-03-02

我在互联网上发现问题是soap请求包含unicode char for ,ctrl + v",这是Xml中的非法字符。我不知道它是如何进入String的,但我想简单地在服务器端删除它。

有人可以告诉我如何解决这个问题吗? 我找到了这个片段:

  XMLOutputFactory f = new WstxOutputFactory();
  f.setProperty(WstxOutputProperties.P_OUTPUT_INVALID_CHAR_HANDLER,
    new InvalidCharHandler.ReplacingHandler(' '));
  XMLStreamWriter sw = f.createXMLStreamWriter(...);

有人可以告诉我如何配置 Spring 使用此处理程序构建 WstxOutputFactory 吗? -InvalidCharHandler.ReplacingHandler(' ')。谢谢你的建议。


解决方案非常简单:

    <jaxws:endpoint id="kservice"  
                    implementor="#kostrounService"
                    address="/call_kostroun" >
                    <jaxws:properties>
                           <entry key="javax.xml.stream.XMLOutputFactory"            valueref="xmlOutputFactory" />
                     </jaxws:properties>       
    </jaxws:endpoint> 
 <bean id="invalidCharHandler"   class="com.ctc.wstx.api.InvalidCharHandler$ReplacingHandler">
         <constructor-arg value=" "/>
   </bean>

   <bean id="xmlOutputFactory" class="com.ctc.wstx.stax.WstxOutputFactory"/>

   <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject">
            <ref local="xmlOutputFactory" />
        </property>
        <property name="targetMethod">
            <value>setProperty</value>
        </property>
        <property name="arguments">
            <list>
                 <util:constant static-field="com.ctc.wstx.api.WstxOutputProperties.P_OUTPUT_INVALID_CHAR_HANDLER"/>
                 <ref bean="invalidCharHandler" />
            </list>
        </property>
    </bean>

此配置片段从肥皂消息中删除非法字符,然后应用程序运行;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CXF - com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码 5)) 的相关文章

随机推荐

  • 你如何优化你的Javascript?

    嗯 简单的问题 对吧 但没有那么简单的答案 在 Firefox 中 我使用 Firebug 控制台 配置文件 但是 在其他浏览器中该怎么办 像 Internet Explorer Opera Safari 在 Windows 上 随着时间的
  • 如何生成包含 R 中数据帧数据的 QR 码?

    我有一个实验室分析仪 可以生成 csv 或 xlsx 格式的结果 但现在我必须手动将输出结果手动输入到我们的结果跟踪软件系统中 因为复制粘贴不起作用 我想编写一个 R 脚本 可以将 csv 的结果转换为软件程序 我能想到的最好方法是将结果生
  • exec*() 后内存使用情况会发生什么

    C 父程序进行一些处理并分配内存 然后调用 execvp 所有已分配但未释放的内存会发生什么 它是自动释放还是作为垃圾保留 exec 用新程序完全替换了旧进程的内存 这包括所有分配的内存 因此不会留下任何垃圾 但请注意 文件描述符等其他资源
  • 如何理解Haskell中的“柯里化”?

    假设有一个名为 smallerc 的函数 smallerc Integer gt Integer gt Integer smallerc x y if x lt y then x else y 为什么不使用以下方式声明该函数 smaller
  • gcloud 应用程序部署“--appyaml”标志似乎不起作用

    对于 Google App Engine 我想注入env variables进入我的app yaml部署后 在文档中gcloud app deploy 我看到有标志 appyaml这将 使用特定的 app yaml 进行部署 该 app y
  • ASP.NET MVC - 显示项目列表,每个项目都有一个项目列表

    我希望这是解释这一点的最好方式 我有 3 个视图对象 学校 课程和班级 每所学校都有多个课程 每个课程可以有多个班级 将一门课程视为一个学习计划 班级是实际的班级 在我的主视图中 我显示所有学校 然后单击一所学校即可转到它 在该 课程视图
  • Zend Framework:控制器目录中的子目录

    我正在为我的网站使用 Zend Framework 并且刚刚创建了一个特殊的模块 api 来创建 嗯 一个 API 现在 我的模块中有很多控制器 我想在此控制器目录中创建子目录以 整理 它 我的新结构将是这样的 controllers co
  • 根据条件删除整行无法处理 400,000 行

    我有这个宏来删除那些不是 chr9 的整行 我总共有 401 094 行 它似乎编译得很好 但我的 Excel 冻结了 我必须强制退出 我认为这可能是一个低效的算法或者代码中的一些错误 Sub deleteNonChr9 Dim lastr
  • 用 nom 5.0 解析数字

    我正在尝试使用 Nom 5 0 解析一个大文件 数十 GB 流 解析器的一部分尝试解析数字 use nom IResult use nom character streaming char digit1 use nom character
  • 在测试中覆盖 Django 缓存设置

    我在用着Django DummyCache https docs djangoproject com en 1 8 topics cache dummy caching for development然而 在我的测试中 有一些测试依赖于真实
  • Pandas 重新索引数据框问题

    假设我有以下数据框 A B 0 1986 87 232131 1 1987 88 564564 2 1988 89 123125 等等 我正在尝试重新索引
  • 如何更改 heatmap.2 中的颜色键值?

    如上面的截图所示 我使用了该功能heatmap 2 here 我怎样才能改变 Value 在颜色编码栏中任何其他名称 人们可以只使用 gplots 包中的数据 library gplots data mtcars x lt as matri
  • 亚马逊的 AWS.NodeHttpClient - 没有文档:(

    我正在编写一个 lambda 函数 必须将日志写入 Amazon 的 ElasticSearch 服务 后端是Node js 我在 github 上发现了这个例子 https github com awslabs amazon elasti
  • 代码高尔夫:找到所有字谜

    一个词是一个anagram http en wikipedia org wiki Anagram如果该单词中的字母可以重新排列以形成不同的单词 Task 按字符数查找给定单词列表的所有字谜组的最短源代码 空格和换行符应计为字符 使用代码尺
  • grpc python 支持客户端和服务器上的多线程

    我想知道 grpc python 支持多线程吗 请分享一些参考 我已经在单线程中编写了代码 但不知道如何在多线程中编写 gRPC Python 在客户端和服务器上都支持多线程 至于服务器 您将创建带有线程池的服务器 因此默认是多线程的 对于
  • Rails 应用程序在 Heroku 上找不到 fontawesome 图标

    我安装了一个引导主题 一切在本地运行良好 但是 当我推送到 heroku 时 我的应用程序找不到字体 我预编译了资产并推送到heroku 但没有图标 因此 我在development rb中使用以下内容创建了像heroku这样的开发环境 c
  • 如何获取程序集 dll 的处理器架构? [复制]

    这个问题在这里已经有答案了 我可以通过在 C 中以编程方式加载 dll 来获取处理器架构吗 有没有一个类可以做到这一点 我需要了解 dll 是否是 x86 x64 MSIL 等 假设您只查看 net 程序集 您可以使用CorFlags ex
  • 如何查看 Fabric Composer 的日志

    我想查看 Fabric Composer 生成的运行时和客户端日志 但找不到它们 您能否提供有关如何访问日志的指导 运行时日志 如果你跑docker ps a您应该看到 3 个正在运行的 docker 容器 Docker 容器之一将是链码容
  • 如何将 rspec 与 before_validation 一起使用

    我无法理解如何正确使用 before validation 回调与 Rspec 模型 类别 rb class Category lt ActiveRecord Base validates presence of name permalin
  • CXF - com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码 5))

    我在互联网上发现问题是soap请求包含unicode char for ctrl v 这是Xml中的非法字符 我不知道它是如何进入String的 但我想简单地在服务器端删除它 有人可以告诉我如何解决这个问题吗 我找到了这个片段 XMLOut