webservice传递特殊字符时的解决的方法

webservice传递特殊字符时的解决的方法

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

webservice soap报文是xml格式交互的,当中针对特殊字符传递无法解析,导致数据处理失败。

解决的方法例如以下:

1、在发送报文之前,针对报文进行base64转码,转义后避免报文中含有特殊字符。

标准base64中是以%开头的,假设存储到数据库中,并进行查询sql中,会解析成通配符,这样会报错。

搜索后使用改进版base64进行转码,能够规避该问题,详细度娘一下吧。

此方法的缺点是,全部client都须要知道解码的方式,否则无法解析。

 

 

2、在xml中,使用cdata标记特殊字符,这样的方式经分析后不太好。

眼下的缺点有2,一是须要针对每一个特殊字符都转换一下,首先是本人不知道应该在什么使用加入�<![CDATA[  ]]>,是在设置属性值的时候,还是最后生成报文的时候; 

并且使用这个的话数据中不能含有[[ ]]等字符。这样推断真麻烦,假设有知道这问题怎样解决,请您不吝赐教。我也仅仅是网络学习的。

 

3、还有研究什么对象的,没太研究,请大家讨论一下是什么意思:

通过Xml Document对象得到XML字符串返回给client,不能直接把XmlDocument返回给client,由于Java中的Xml Document对象,别的语言是无法正确解释的,我们仅仅能返回XML 字符串:
public String getAllNewSpace() {
         Document document = DocumentHelper.createDocument();
         Element root=document.addElement( “root “);
…………………………
if (null != dataset) {
                 while (dataset.next()) {
                     Element user=root.addElement( “User “);
                     Element userName=user.addElement( “UserName “);
                     userName.setText(dataset.getString(1));
                     Element userId=user.addElement( “UserId “);
                     userId.setText (dataset.getString(2));
                 }
             }
         return document.asXML();
     }

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118929.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5种单例模式的Java实现[通俗易懂]

    5种单例模式的Java实现[通俗易懂]参考链接:http://www.mianshigee.com/topic/1022grf/1、懒汉式单例、线程不安全publicclassSingleton{privatestaticSingletonuniqueInstance;//构造方法privateSingleton(){};//实例方法publicstaticSingletongetInstance(){if(uniqueInstance=.

    2022年7月8日
    15
  • Vue.js 快速入门

    Vue.js 快速入门

    2022年2月21日
    35
  • 算法时间复杂度计算方式

    算法时间复杂度计算方式【对于一个给定的算法,通常要评估其正确性和运行效率的高低。算法的正确性评估不在本文范围之内,本文主要讨论从算法的时间复杂度特性去评估算法的优劣。】如何衡量一个算法的好坏呢?显然,选用的算法应该是正确的(算法的正确性不在此论述)。除此之外,通常有三个方面的考虑:(1)算法在执行过程中所消耗的时间;(2)算法在执行过程中所占资源的大小,例如,占用内存空间的大小;(3)算法的易理解性…

    2022年5月15日
    34
  • Python基本语法

    Python基本语法Python基本语法

    2022年4月22日
    28
  • 字符串类的设计与实现_C语言字符串编程题

    字符串类的设计与实现_C语言字符串编程题Java程序设计(基础)- 字符串

    2022年4月22日
    41
  • golang有序map_go语言发展不起来

    golang有序map_go语言发展不起来Go语言中的Map和List实现有序MapMap定义:Go中Map是一种无序的键值对的集合。Map最重要的一点是通过key来快速检索数据,key类似于索引,指向数据的值。Map是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map是无序的,我们无法决定它的返回顺序,这是因为Map是使用链式hash表来实现的。其他语言中的实现:在C++STL中map采用红黑树实现,…

    2022年9月2日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号