【问题标题】:CXF - com.ctc.wstx.exc.WstxUnexpectedCharException: Illegal character ((CTRL-CHAR, code 5))CXF - com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码 5))
【发布时间】:2012-08-17 04:56:54
【问题描述】:

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

请有人告诉我如何解决这个问题? 我找到了这个 sn-p:

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

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

【问题讨论】:

    标签: spring cxf illegal-characters


    【解决方案1】:

    解决方法很简单:

        <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>
    

    这个配置的 sn-p 从soap消息中删除非法字符,然后应用程序运行;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-28
      • 2020-12-15
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      相关资源
      最近更新 更多