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)
上一篇 2021年11月29日 上午8:00
下一篇 2021年11月29日 上午8:00


相关推荐

  • 将后台返回字符串数据转为jquery对象,并做一些操作

    将后台返回字符串数据转为jquery对象,并做一些操作

    2021年8月31日
    56
  • GM8018 多路高压电平转换和功率驱动控制器

    GM8018 多路高压电平转换和功率驱动控制器

    2021年7月29日
    66
  • 成员变量和局部变量区别

    成员变量和局部变量区别成员变量和局部变量区别在类中的位置不同成员变量 在类中方法外面局部变量 在方法或者代码块中 或者方法的声明上 即在参数列表中 在内存中的位置不同成员变量 在堆中 方法区中静态区 成员变量属于对象 对象进堆内存局部变量 在栈中 局部变量属于方法 方法进栈内存生命周期不同成员变量 随着对象的创建而存在 随着对象的消失而消失局部变量 随着方法的调用或代码块的执行而存在 随着方法的调用完毕或者代码块的执行完毕而消失初始值成员变量 有默认初始值局部变量 没有默认初始值 使用前需赋值注意

    2026年3月17日
    2
  • 微信塔防小游戏开发教程,唤境引擎制作塔防游戏分享

    微信塔防小游戏开发教程,唤境引擎制作塔防游戏分享今天带来的是塔防游戏制作攻略!点击这里来下载工程文件,点击这里可以下载工程中所用的素材哦~预览状态时敌人会从四个生成点随机生成,并且会自动寻路绕过黑色墙体走向红色终点。点击黑色墙体可以创建炮塔,炮塔会自动攻击敌人。废话不多说,快打开唤境燥起来~!1.新建项目首先,打开唤境,点击欢迎页左上角的新建项目按钮。在弹出的项目设置中,选择窗口尺寸为800*600。命名为“塔防…

    2022年5月10日
    162
  • require用法

    require用法现在前端的页面都采用模块化来加载 js 避免了 js 加载的延迟顺序依赖等问题 原理的东西这里不多做解释 我们这节只是介绍一下 require 的用法 1 首先我们要下载 require js 文件 2 html 引入 lt scriptsrc js require js data main main gt lt script gt 这里 src 是 require js 的路径 data main

    2026年3月16日
    2
  • Python学习–02输入和输出、运算符

    Python学习–02输入和输出、运算符

    2022年2月23日
    40

发表回复

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

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