gpt4 book ai didi

spring - CXF - com.ctc.wstx.exc.WstxUnexpectedCharException : Illegal character ((CTRL-CHAR, 代码 5))

转载 作者:行者123 更新时间:2023-12-02 06:45:54 25 4
gpt4 key购买 nike

我在互联网上发现问题是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>

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

关于spring - CXF - com.ctc.wstx.exc.WstxUnexpectedCharException : Illegal character ((CTRL-CHAR, 代码 5)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com