Apache + Tomcat + Axis
返回的结果XML中,不管文本长短,后面一些中文字符总是被截断,但如果全部为英文则正常。是否设置有问题?

解决方案 »

  1.   

    猜测是编码问题引起的。
    service.xml文件里的编码改改看可以么
      

  2.   

    没有找到service.xml文件,你指的是Tomcat的server.xml文件吗?
      

  3.   

    怀疑是你的编码不一致导致的,先保证xml server端和client端的中文编码都一致,再测试看一看。
      

  4.   

    建议先读成byte,然后看看字节大小,然后再做讨论。
    有的时候可能会由于中文的文字和ASCII码的某些东西冲突,反馈的东西被截断
      

  5.   

    服务端是第三方程序,不太清楚怎么设置它的编码。是设置Tomcat吗
      

  6.   

    手动写个文件编码过滤器。service.xml是建web service工程时,它在WebServices文件夹下面
    我的service.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service>
    <name>infoService</name>
    <serviceClass>com.hgeagle.rescue.ws.IinfoService</serviceClass>
    <implementationClass>
    com.hgeagle.rescue.ws.infoServiceImpl
    </implementationClass>
    <style>wrapped</style>
    <use>literal</use>
    <scope>application</scope>
    </service>
    <service>
    <name>addressMappingService</name>
    <serviceClass>
    com.hgeagle.rescue.wsmap.IaddressMappingService
    </serviceClass>
    <implementationClass>
    com.hgeagle.rescue.wsmap.addressMappingServiceImpl
    </implementationClass>
    <style>wrapped</style>
    <use>literal</use>
    <scope>application</scope>
    <!--  -->
    <inHandlers>
    <handler handlerClass="com.hgeagle.rescue.ws.facade.AuthenticationHandler"></handler>
    </inHandlers>
    </service>
    <service>
    <name>telcomService</name>
    <serviceClass>com.telcom.ws.ItelcomService</serviceClass>
    <implementationClass>
    com.telcom.ws.telcomServiceImpl
    </implementationClass>
    <style>wrapped</style>
    <use>literal</use>
    <scope>application</scope>
    </service>

    </beans>